summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2014-10-10 03:19:58 +0200
committerTudor Florea <tudor.florea@enea.com>2014-10-10 03:19:58 +0200
commitf98b448ee835646be48f530b3e6fe13b32b093f5 (patch)
tree9d1062f1e8893e72829df650f5e558c5fb255955
downloadmeta-fsl-arm-daisy-140929.tar.gz
initial commit for Enea Linux 4.0-140929daisy-140929
Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-rw-r--r--.gitignore1
-rw-r--r--EULA523
-rw-r--r--README51
-rw-r--r--classes/fsl-dynamic-packagearch.bbclass47
-rw-r--r--classes/fsl-eula-unpack.bbclass63
-rw-r--r--classes/image_types_fsl.bbclass312
-rw-r--r--classes/mfgtool-initramfs-image.bbclass40
-rw-r--r--conf/layer.conf23
-rw-r--r--conf/machine/imx23evk.conf20
-rw-r--r--conf/machine/imx28evk.conf54
-rw-r--r--conf/machine/imx31pdk.conf23
-rw-r--r--conf/machine/imx35pdk.conf24
-rw-r--r--conf/machine/imx51evk.conf14
-rw-r--r--conf/machine/imx53ard.conf18
-rw-r--r--conf/machine/imx53qsb.conf18
-rw-r--r--conf/machine/imx6dlsabreauto.conf22
-rw-r--r--conf/machine/imx6dlsabresd.conf15
-rw-r--r--conf/machine/imx6qsabreauto.conf20
-rw-r--r--conf/machine/imx6qsabresd.conf16
-rw-r--r--conf/machine/imx6slevk.conf23
-rw-r--r--conf/machine/imx6solosabreauto.conf20
-rw-r--r--conf/machine/imx6solosabresd.conf18
-rw-r--r--conf/machine/include/fsl-default-providers.inc6
-rw-r--r--conf/machine/include/fsl-default-settings.inc3
-rw-r--r--conf/machine/include/fsl-default-versions.inc1
-rw-r--r--conf/machine/include/imx-base.inc108
-rw-r--r--conf/machine/include/imx6sabreauto-common.inc10
-rw-r--r--conf/machine/include/imx6sabresd-common.inc10
-rw-r--r--conf/machine/include/mxs-base.inc43
-rw-r--r--conf/machine/twr-vf65gs10.conf21
-rw-r--r--efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch55
-rw-r--r--efl-layer/recipes-efl/efl/efl_1.9.3.bbappend3
-rw-r--r--qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch23
-rw-r--r--qt5-layer/recipes-qt/qt5/qtbase_%.bbappend62
-rw-r--r--qt5-layer/recipes-qt/qt5/qtmultimedia/add-imx6-support.patch844
-rw-r--r--qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend5
-rw-r--r--qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch42
-rw-r--r--qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend4
-rw-r--r--recipes-bsp/alsa-state/alsa-state.bbappend7
-rwxr-xr-xrecipes-bsp/alsa-state/alsa-state/mx5/asound.conf275
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx5/asound.state139
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx6/asound.conf257
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mx6/asound.state1374
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mxs/asound.conf299
-rw-r--r--recipes-bsp/alsa-state/alsa-state/mxs/asound.state191
-rw-r--r--recipes-bsp/barebox/barebox.inc63
-rw-r--r--recipes-bsp/barebox/barebox_2013.08.0.bb9
-rw-r--r--recipes-bsp/elftosb/elftosb_10.12.01.bb22
-rw-r--r--recipes-bsp/elftosb/files/cross-build.patch50
-rw-r--r--recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch42
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx.inc47
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb8
-rw-r--r--recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb10
-rw-r--r--recipes-bsp/formfactor/formfactor/imx51evk/machconfig11
-rw-r--r--recipes-bsp/formfactor/formfactor/imx53ard/machconfig13
-rw-r--r--recipes-bsp/formfactor/formfactor/imx53qsb/machconfig11
-rw-r--r--recipes-bsp/formfactor/formfactor_%.bbappend2
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch46
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch28
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch30
-rw-r--r--recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb79
-rw-r--r--recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb13
-rw-r--r--recipes-bsp/imx-lib/imx-lib.inc28
-rw-r--r--recipes-bsp/imx-lib/imx-lib_11.09.02.bb8
-rw-r--r--recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb10
-rw-r--r--recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb23
-rw-r--r--recipes-bsp/imx-test/imx-test.inc58
-rwxr-xr-xrecipes-bsp/imx-test/imx-test/clocks.sh29
-rw-r--r--recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch30
-rw-r--r--recipes-bsp/imx-test/imx-test_00.00.00.bb9
-rw-r--r--recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb13
-rw-r--r--recipes-bsp/imx-uuc/imx-uuc_0.5.bb16
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu.inc22
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch83
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb7
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb12
-rw-r--r--recipes-bsp/libmcc/libmcc_1.04.bb21
-rw-r--r--recipes-bsp/mqxboot/mqxboot_1.0.bb21
-rw-r--r--recipes-bsp/mxsldr/mxsldr_git.bb18
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb28
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc.inc29
-rw-r--r--recipes-bsp/u-boot/u-boot-fslc_2014.01.bb7
-rw-r--r--recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb4
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch51
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch67
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch66
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch66
-rw-r--r--recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch67
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2009.08.bb65
-rw-r--r--recipes-bsp/u-boot/u-boot-imx_2013.04.bb18
-rw-r--r--recipes-bsp/u-boot/u-boot-mfgtool.inc21
-rw-r--r--recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend4
-rw-r--r--recipes-core/udev/udev-extraconf/10-imx.rules24
-rw-r--r--recipes-core/udev/udev-extraconf_%.bbappend17
-rw-r--r--recipes-fsl/images/fsl-image-mfgtool-initramfs.bb8
-rw-r--r--recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb47
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb13
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc90
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb18
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/egl.pc11
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch54
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc11
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb33
-rw-r--r--recipes-graphics/cairo/cairo_%.bbappend11
-rw-r--r--recipes-graphics/clutter/clutter-1.0_%.bbappend9
-rw-r--r--recipes-graphics/cogl/cogl-1.0_%.bbappend10
-rw-r--r--recipes-graphics/directfb/directfb-examples_1.6.0.bb20
-rw-r--r--recipes-graphics/directfb/directfb.inc73
-rw-r--r--recipes-graphics/directfb/directfb/configurefix.patch60
-rw-r--r--recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch29
-rw-r--r--recipes-graphics/directfb/directfb/fixsepbuild.patch19
-rw-r--r--recipes-graphics/directfb/directfb/fusion.patch36
-rw-r--r--recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch345
-rw-r--r--recipes-graphics/directfb/directfb_1.6.3.bb26
-rw-r--r--recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch35
-rw-r--r--recipes-graphics/drm/libdrm_%.bbappend5
-rw-r--r--recipes-graphics/eglinfo/eglinfo-fb_%.bbappend3
-rw-r--r--recipes-graphics/eglinfo/eglinfo-x11_%.bbappend3
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc259
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch30
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch31
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch34
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc12
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc10
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb9
-rw-r--r--recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb9
-rw-r--r--recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc45
-rw-r--r--recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb6
-rw-r--r--recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch355
-rw-r--r--recipes-graphics/mesa/mesa-demos_%.bbappend4
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend10
-rw-r--r--recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend3
-rw-r--r--recipes-graphics/piglit/piglit_git.bbappend5
-rw-r--r--recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch69
-rw-r--r--recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch1513
-rw-r--r--recipes-graphics/wayland/weston_%.bbappend21
-rw-r--r--recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput2
-rw-r--r--recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput2
-rw-r--r--recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend2
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb62
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch33
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch787
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch65
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch53
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch34
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb39
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf16
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf14
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf12
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend2
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch35
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch22
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch15
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch25
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch29
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb35
-rw-r--r--recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb15
-rw-r--r--recipes-kernel/linux/linux-fslc.inc18
-rw-r--r--recipes-kernel/linux/linux-fslc/defconfig295
-rw-r--r--recipes-kernel/linux/linux-fslc/mxs/defconfig186
-rw-r--r--recipes-kernel/linux/linux-fslc_3.14.bb17
-rw-r--r--recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig2053
-rw-r--r--recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig2181
-rw-r--r--recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig2586
-rw-r--r--recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch42
-rw-r--r--recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch33
-rw-r--r--recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig358
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig341
-rw-r--r--recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb7
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch139
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch111
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch84
-rw-r--r--recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig358
-rw-r--r--recipes-kernel/linux/linux-imx-rt_3.10.17.bb26
-rw-r--r--recipes-kernel/linux/linux-imx.inc47
-rw-r--r--recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch31
-rw-r--r--recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch241
-rw-r--r--recipes-kernel/linux/linux-imx_2.6.35.3.bb26
-rw-r--r--recipes-kernel/linux/linux-imx_3.10.17.bb17
-rw-r--r--recipes-kernel/linux/linux-mfgtool.inc80
-rw-r--r--recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch37
-rw-r--r--recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch35
-rw-r--r--recipes-kernel/linux/linux-timesys-3.0.15/defconfig144
-rw-r--r--recipes-kernel/linux/linux-timesys_3.0.15.bb20
-rw-r--r--recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb27
-rw-r--r--recipes-multimedia/gstreamer/gst-fsl-plugin.inc66
-rw-r--r--recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch617
-rw-r--r--recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb11
-rw-r--r--recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch28
-rw-r--r--recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend11
-rw-r--r--recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch2438
-rw-r--r--recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend11
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend7
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb33
-rw-r--r--recipes-multimedia/libfslcodec/libfslcodec.inc84
-rw-r--r--recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb9
-rw-r--r--recipes-multimedia/libfslparser/libfslparser.inc30
-rw-r--r--recipes-multimedia/libfslparser/libfslparser_3.0.11.bb9
-rw-r--r--recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch41
-rw-r--r--recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb23
-rw-r--r--recipes-qt/qt4/qt4-embedded_%.bbappend12
-rw-r--r--recipes-qt/qt4/qt4-phonon-patches.inc8
-rw-r--r--recipes-qt/qt4/qt4-x11-free_%.bbappend15
-rw-r--r--recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch468
-rw-r--r--recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch46
-rw-r--r--recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch35
-rw-r--r--recipes-qt/qt4/qt4/mx6/g++.conf56
-rw-r--r--recipes-qt/qt4/qt4/mx6/linux.conf66
-rwxr-xr-xscripts/get-maintainer107
219 files changed, 25151 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
*~
diff --git a/EULA b/EULA
new file mode 100644
index 0000000..96b33aa
--- /dev/null
+++ b/EULA
@@ -0,0 +1,523 @@
1LA_OPT27 v4 June 2013
2
3FREESCALE SEMICONDUCTOR SOFTWARE LICENSE AGREEMENT
4
5IMPORTANT. Read the following Freescale Semiconductor Software
6License Agreement ("Agreement") completely. By selecting the
7"I Accept" button at the end of this page, you indicate that
8you accept the terms of this Agreement. You may then
9download the file.
10
11
12This is a legal agreement between you, as an authorized representative
13of your employer (together "you"), and Freescale Semiconductor, Inc.
14("Freescale") and its Affiliates. It concerns your rights to use this
15software and any accompanying written documentation (the "Licensed
16Software"). In consideration for Freescale allowing you to access
17the Licensed Software, you are agreeing to be bound by the terms of
18this Agreement. If you do not agree to all of the terms of this
19Agreement, do not download the Licensed Software. If at any point
20you no longer agree to all the terms of this Agreement, stop using
21the Licensed Software immediately and delete all copies of the
22Licensed Software in your possession or control. Any copies of the
23Licensed Software that you have already distributed, where permitted,
24and that have not been destroyed, will continue to be governed by
25this Agreement. Your prior use of the Licensed Software will also
26continue to be governed by this Agreement.
27
28Section 1. Definitions
29
301.1 "Affiliate" means, any corporation, or entity directly or
31indirectly controlled by, controlling, or under common control with
32Freescale.
33
341.2 "Authorized Employees" means your employees or contractors
35working at your premises on your behalf under a work for hire agreement.
36
371.3 "Authorized System" means the hardware system(s) or software
38program(s) marketed by you which contains an i.MX processor and for
39which the Licensed Software will be adapted by Licensee pursuant to
40this Agreement and with which the Licensed Software will be integrated.
41
421.4 "Essential Patent" means a patent to the limited extent that
43infringement of such patent cannot be avoided in remaining compliant
44with the technology standards implicated by the usage of any of the
45Licensed Software, including optional implementation of such standards,
46on technical but not commercial grounds, taking into account normal
47technical practice and the state of the art generally available at
48the time of standardization.
49
501.5 "Intellectual Property Rights" means any and all rights under
51statute, common law or equity in and under copyrights, trade secrets,
52and patents (including utility models), and analogous rights throughout
53the world, including any applications for and the right to apply for,
54any of the foregoing.
55
561.6 "Licensed Software" means the software and the associated
57documentation.
58
591.7 "Agreement" means this document and the following Appendices
60which are attached hereto and included herein by reference :
61
62- Appendix A : Other License Grants and Rights
63
64
65Section 2. Licenses
662.1 Separate license grants and rights to Third Party Software,
67if different from those granted in this Section 2, are as identified
68on Appendix A.
69
702.2 For Freescale Licensed Software, Freescale grants you a
71world-wide, personal, non-transferable, non-exclusive, license, under
72Freescale's Intellectual Property Rights:
73
74(a) to use, only as part of, or integrated within, Authorized
75Systems and not on a stand alone basis, the Licensed Software;
76
77(b) to reproduce, only as part of, or integrated within,
78Authorized Systems and not on a stand alone basis, the Licensed Software;
79
80(c) to directly or indirectly manufacture, demonstrate, copy,
81distribute, market and sell the Licensed Software in object code
82(machine readable) only as part of, or embedded within, Authorized
83Systems in object code form and not on a stand alone basis.
84Notwithstanding the foregoing, those files marked as .h files
85("Header files") may be distributed in source or object code form,
86but only as part of, or embedded within Authorized Systems.
87
88(d) to copy, use and distribute as needed, solely in connection
89with an Authorized System, the proprietary information for the purpose
90of developing, maintaining and supporting Authorized Systems with which
91the Licensed Software is integrated.
92
932.3 For Freescale Licensed Software provided to you in source code
94form (human readable), Freescale further grants to you a worldwide,
95personal, non-transferable, non-exclusive, license, under Freescale's
96Intellectual Property Rights:
97
98(a) to prepare derivative works, only as part of, or integrated
99within, Authorized Systems and not on a stand alone basis, of the
100Licensed Software;
101
102(b) to use, demonstrate, copy, distribute, market and sell
103derivative works of the Licensed Software in object code (machine
104readable) only as part of, or integrated within, Authorized Systems
105and not on a stand alone basis. Notwithstanding the foregoing, those
106files marked as .h files ("Header files") may be distributed in source
107or object code form, but only as part of, or embedded within Authorized
108Systems.
109
1102.4 You may use subcontractors on your premises to exercise your
111rights under Section 2.2 and 2.3 so long as you have an agreement in
112place with the subcontractor containing confidentiality restrictions
113no less stringent than those contained in this Agreement. You will
114remain liable for your subcontractors' adherence to the terms of this
115Agreement and for any and all acts and omissions of such subcontractors
116with respect to this Agreement and the Licensed Software.
117
1182.5 The licenses granted above in section 2.3 only extend to Freescale
119intellectual property rights that would be infringed by the Licensed
120Software prior to your preparation of any derivative work.
121
1222.6 You are solely responsible for obtaining any necessary third
123party approvals and any licenses for any necessary Essential Patents
124for their use in connection with technology that you incorporate into
125the your Authorized System (whether as part of the Licensed Software
126or not).
127
1282.7 The Licensed Software is licensed to you, not sold. Title
129to Licensed Software delivered hereunder remains vested in Freescale
130or Freescale's licensor and cannot be assigned or transferred. You
131are expressly forbidden from selling or otherwise distributing the
132Licensed Software, or any portion thereof, except as expressly permitted
133herein. This Agreement does not grant to you any implied rights under
134any Freescale or third party intellectual property.
135
1362.8 You may not translate, reverse engineer, decompile, or
137disassemble the Licensed Software except to the extent applicable
138law specifically prohibits such restriction. You must prohibit your
139sub-licensees from translating, reverse engineering, decompiling, or
140disassembling the Licensed Software except to the extent applicable
141law specifically prohibits such restriction.
142
1432.9 You must reproduce any and all of Freescale's (or its third
144party licensor's) copyright notices and other proprietary legends on
145copies of Licensed Software.
146
1472.10 If you distribute the Licensed Software to the United States
148Government, then the Licensed Software is "restricted computer software"
149and is subject to FAR 52.227-19 (c)(1) and (c)(2).
150
1512.11 You grant to Freescale a non-exclusive, non-transferable,
152irrevocable, perpetual, worldwide, royalty-free, sub-licensable license
153under your Intellectual Property Rights to use without restriction and
154for any purpose any suggestion, comment or other feedback related to
155the Licensed Software (including, but not limited to, error corrections
156and bug fixes).
157
1582.12 You will not take or fail to take any action that could
159subject the Licensed Software to an Excluded License. An Excluded
160License means any license that requires as a condition of use,
161modification and/or distribution of software subject to the Excluded
162License, that such software or other software combined and/or distributed
163with such software be (A) disclosed or distributed in source code form;
164(B) licensed for the purpose of making derivative works; or
165(C) redistributable at no charge.
166
167
168Section 3. Intellectual Property Rights
169
1703.1 Subject to Freescale's ownership interest in the underlying
171Licensed Software, all intellectual property rights associated with,
172and title to, your Authorized System will be retained by or will vest in you.
173
1743.2 Your modifications to the Licensed Software, and all intellectual
175property rights associated with, and title thereto, will be the property
176of Freescale. You agree to assign all, and hereby do assign all rights,
177title, and interest to any such modifications to the Licensed Software
178to Freescale and agree to provide all assistance reasonably requested
179by Freescale to establish, preserve or enforce such right. Further,
180you agree to waive all moral rights relating to your modifications to
181he Licensed Software, including, without limitation, any and all rights
182of identification of authorship and any and all rights of approval,
183restriction, or limitation on use or subsequent modification.
184Notwithstanding the foregoing, you will have the license rights granted
185in Section 2 hereto to any such modifications made by you or your
186licensor's.
187
188
189Section 4. Patent Covenant not to Sue
190
1914.1 As partial, material consideration for the rights granted to
192you under this Agreement, you covenant not to sue or otherwise assert
193your patents against Freescale, a Freescale Affiliate or subsidiary,
194or a Freescale licensee of the Licensed Software for infringement of
195your Intellectual Property Rights by the manufacture, use, sale, offer
196for sale, importation or other disposition or promotion of the Licensed
197Software and/or any redistributed portions thereof.
198
199
200Section 5. Term and Termination
201
2025.1 This Agreement will remain in effect unless terminated as
203provided herein.
204
2055.2 You may terminate this Agreement immediately upon written
206notice to Freescale at the address provided below.
207
2085.3 Either party may terminate this Agreement if the other party
209is in default of any of the terms and conditions of this Agreement,
210and termination is effective if the defaulting party fails to correct
211such default within 30 days after written notice thereof by the
212non-defaulting party to the defaulting party at the address below.
213
2145.4 Notwithstanding the foregoing, Freescale may terminate this
215Agreement immediately upon written notice if you:
216
217(a) breach any of your confidentiality obligations or the
218license restrictions under this Agreement;
219
220(b) become bankrupt or insolvent, or file a petition therefore;
221
222(c) make an assignment for the benefit of its creditors;
223
224(d) enter proceedings for winding up or dissolution;
225
226(e) are dissolved; or
227
228(f) are nationalized or is subject to the expropriation of all
229or substantially all of its business or assets.
230
2315.5 Upon termination of this Agreement, all licenses granted under
232Section 2 will expire, except that any licenses extended to end-users
233pursuant to Sections 2.2 (c), 2.2 (d) and 2.3 (b) which have been granted
234prior to such termination will survive.
235
2365.6 After termination of this Agreement by either party and upon
237Freescale's written request, you will, at your discretion, return to the
238Freescale any confidential information including any and all copies thereof
239or furnish to Freescale at the address below, a statement certifying, with
240respect to the Licensed Software delivered hereunder that the original and
241all copies, except for archival copies to be used solely for dispute
242resolution purposes, in whole or in part, in any form, of the Licensed
243Software have been destroyed.
244
2455.7 Notwithstanding the termination of this Agreement for any reason,
246the terms of Sections 1, 2.5 - 2.12, 3, 4, 5.6, 5.7, 7 and 8 will survive.
247
248
249Section 6. Warranty
250
2516.1 Freescale warrants that for the 30 day period following your
252download of the Licensed Software that the Licensed Software as delivered
253is free of material defects in materials and workmanship.
254
2556.2 If Licensed Software is not as warranted, Freescale will, at its
256sole option, and as your exclusive remedy, either refund the fees associated
257with such Licensed Software, repair, or replace with the same or equivalent
258products that meet this warranty. This warranty does not apply to Licensed
259Software that has been subjected to improper testing, assembly, mishandling,
260 modification, or misuse, whether by you or by others. This warranty will
261not be expanded, and no obligation or liability will arise, due to technical
262advice or assistance, qualification or testing data, computerized data,
263facilities or service Freescale may provide in connection with the Licensed
264Software.
265
2666.3 Freescale does not warrant that the functions contained in the
267Licensed Software will meet your requirements or that the operation of the
268Licensed Software will be uninterrupted or error free.
269
2706.4 The warranty recited in this Section 6 extends only to you.
271
2726.5 THIS WARRANTY RECITED IN THIS SECTION 6 IS IN LIEU OF ALL OTHER
273WARRANTIES, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY
274QUALITY OR FITNESS, AND THE WARRANTY AGAINST INFRINGEMENT SPECIFIED IN THE
275UNIFORM COMMERCIAL CODE. ALL OTHER WARRANTIES ARE EXPRESSLY DISCLAIMED TO
276THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW.
277
278
279Section 7. Indemnification
280
2817.1 You will defend, indemnify and hold harmless Freescale from any
282and all damages claims, liabilities, and costs (including reasonable
283attorney's fees) related to your (including contractor's and licensee's)
284use of the Licensed Software and/or (2) your (including contractor's and
285licensee's) violation of the terms and conditions of this Agreement. You
286are excused from this obligation to the extent any such claim arises solely
287from the Licensed Software as provided by Freescale.
288
289
290Section 8. General Provisions
291
2928.1 Amendments and Waivers. No amendment of any provision of
293this Agreement will be valid unless stated in writing and signed by
294authorized representatives of each of the parties. No waiver by any party
295of any default, misrepresentation or covenant herein, whether intentional
296or not, will be deemed to extend any prior or subsequent default,
297misrepresentation, or covenant hereunder or affect in any way any rights
298arising by virtue of any prior or subsequent occurrence.
299
3008.2 Choice of Law. This Agreement will be governed by,
301construed, and enforced in accordance with the laws of the State of Texas.
302
3038.3 Confidential Information. You will treat the Licensed Software
304as confidential information and you agree to retain the Licensed Software
305in confidence perpetually with respect to Licensed Software in source code
306form (human readable), or for a period of five (5) years from the date of
307termination of this Agreement, with respect to all other parts of the
308Licensed Software. During this period you may not disclose any part of
309the Licensed Software to others than employees or contractors who have a
310need to know of the Licensed Software and who have executed written
311agreements obligating them to protect such Licensed Software. You agree
312to use the same degree of care, but no less than a reasonable degree
313of care, with the Licensed Software as you do with your own confidential
314information. You may disclose Licensed Software to the extent required by
315a court or under operation of law or order provided that you notify Freescale
316of such requirement prior to disclosure, that you only disclose information
317required, and that the you allow Freescale the opportunity to object to such
318court or other legal body requiring such disclosure.
319
3208.4 Counterparts. This Agreement may be executed in one or more
321original counterparts, all of which together will constitute one agreement,
322and facsimile signatures will have the same effect as original signatures.
323
3248.5 Entire Agreement. This Agreement, including its attachments,
325constitutes the entire agreement between the parties regarding the subject
326matter hereof, and supersedes all prior communications, negotiations,
327understandings, agreements or representations, either written or oral,
328by or among the parties regarding such subject matter.
329
3308.6 Limitation of Liability. EXCLUDING LIABILITY FOR A
331BREACH OF SECTION 8.3 (CONFIDENTIALITY), BREACHES OF THE LICENSE GRANTS
332IN SECTION 2, OR CLAIMS UNDER SECTION 7, IN NO EVENT WILL EITHER PARTY
333BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY INCIDENTAL,
334SPECIAL, INDIRECT, CONSEQUENTIAL OR PUNITIVE DAMAGES, INCLUDING, BUT NOT
335LIMITED TO, DAMAGES FOR ANY LOSS OF USE, LOSS OF TIME, INCONVENIENCE,
336COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR REVENUES, TO THE FULL
337EXTENT SUCH MAY BE DISCLAIMED BY LAW. FREESCALE'S TOTAL LIABILITY FOR
338ANY AND ALL COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF
339OR IN CONNECTION WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS
340AGREEMENT IS LIMITED TO THE AGGREGATE AMOUNT PAID BY YOU TO FREESCALE IN
341CONNECTION WITH THE LICENSED SOFTWARE TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
342
3438.7 Notices.
344All notices and communications under this Agreement will be made in writing,
345and will be effective when received at the following addresses:
346
347 Freescale:
348 Freescale Semiconductor, Inc.
349 6501 William Cannon Drive, West
350 Austin, Texas 78735
351 ATTN: General Manager, Multimedia Applications Division
352
353 With a copy to:
354 Freescale Semiconductor, Inc.
355 6501 William Cannon West OE62
356 Austin, Texas 78735
357 ATTN: Law Director, Multimedia Applications Division
358
359 You: The address provided at registration will be used.
360
361
362Either party may change its notice information upon notice to the other party.
363
3648.8 Relationship of the Parties. The parties are independent
365contractors. Nothing in this Agreement will be construed to create any
366partnership, joint venture, or similar relationship. Neither party is
367authorized to bind the other to any obligations with third parties.
368
3698.9 Severability. If any provision of this Agreement is held for
370any reason to be invalid or unenforceable the remaining provisions of
371this Agreement will be unimpaired and, unless a modification or replacement
372of the invalid or unenforceable provision is further held to deprive a
373party of a material benefit, in which case the Agreement will immediately
374terminate, the invalid or unenforceable provision will be replaced with a
375provision that is valid and enforceable and that comes closest to the
376parties' intention underlying the invalid or unenforceable provision.
377
3788.10 Succession and Assignment. This Agreement will be binding upon
379and inure to the benefit of the parties and their permitted successors and
380assigns. Neither party may assign this Agreement, or any part of this
381Agreement, without the prior written approval of the other party, which
382approval will not be unreasonably withheld or delayed.
383
3848.11 Unauthorized Use. The Licensed Software is not intended or
385authorized for use in anti-personnel landmines, and you agree that it
386will not be used for this purpose. Upon request from Freescale, you will
387furnish a written certification that you do not use or permit the use of
388the Licensed Software in anti-personnel landmines. The Licensed Software
389is not intended or authorized for use in products surgically implanted
390into the body, for life support or for other products in which a product
391failure could cause personal injury or death. If you permit the uses of
392Licensed Software for these unintended or unauthorized uses, you will
393fully indemnify, defend, and hold harmless Freescale, its Affiliates,
394subsidiaries, officers and directors, employees, and distributors from
395all liability related to such use, including attorneys' fees and costs.
396
3978.12 Export. If, at the time or times of Freescale's
398performance hereunder, an export license is required for Freescale to
399lawfully export Licensed Software, then the issuance of the appropriate
400licenses to Freescale or its subcontractor shall constitute a condition
401precedent to Freescale's obligations hereunder. You understand and agree
402that you will not by any means or method, export, re-export, resell, ship
403or divert or cause to be exported, re-exported, resold, shipped, or
404diverted, directly or indirectly, the Licensed Software, or any Freescale
405product or technology except as permitted by and in accordance with
406the laws and regulations of the United States and, if different than
407the United States, the country from which the export or re-export originates.
408
4098.13 International Sale of Goods. The United Nations Convention
410on Contracts for the International Sale of Goods will not apply to this
411document.
412
4138.14 Audit. You will maintain accurate and up-to-date records
414pertaining to this Agreement and will grant Freescale or its authorized
415agent access to and copies of such records and information as requested
416by Freescale that pertain to your obligations under this Agreement.
417Such access will be granted upon reasonable advance written notice,
418and be conducted during normal business hours with minimal impact to
419your business operations, and subject to confidentiality restrictions.
420You will maintain such records for a period of at least three (3) years
421from the date of termination of this Agreement. You must make prompt
422adjustment to compensate for any errors and/or omissions disclosed by
423such examination or audit.
424
425
426APPENDIX A
427Other License Grants and Rights:
428
429The Licensed Software may include some or all of the following software
430which is not Freescale proprietary software and the rights granted herein
431are limited to those rights provided below:
432
433Open Source Software.
434Open source software is not licensed under the terms of this Agreement,
435but is instead licensed under the terms of applicable open source
436license(s), such as the BSD License, Apache License or the GNU Lesser
437General Public License. Your use of the open source software is subject
438to the terms of each applicable license. You must agree to the terms
439of each such applicable license, or you should not use the open source
440software.
441
442Vivante
443
444If the Licensed Software includes proprietary software developed by
445Vivante, your distribution rights are restricted to providing the
446Licensed Software in object code (machine readable), and only as part of,
447or embedded within, Authorized Systems that include a Vivante Graphics
448Processing Unit.
449
450Atheros
451
452If the Licensed Software includes proprietary software developed by Atheros,
453you must separately obtain rights beyond evaluation and demonstration in
454connection with the Atheros software.
455
456Coding Technologies, acquired by Dolby Laboratories ("CTS")
457
458If the Licensed Software includes software developed by CTS, you must
459separately obtain rights beyond evaluation and demonstration in
460connection with the CTS software from Dolby Laboratories.
461
462Microsoft
463If the Licensed Software includes software owned by the Microsoft
464Corporation ("Microsoft"), it is subject to the terms of your license
465with Microsoft (the "Microsoft Underlying Software") and as such,
466Freescale grants no license to you, beyond evaluation and demonstration
467in connection with Freescale processors, in the Microsoft Underlying
468Software. You must separately obtain rights beyond evaluation and
469demonstration in connection with the Microsoft Underlying Software
470from Microsoft.
471
472Microsoft does not provide support services for the
473components provide to you through this Agreement. If you have any
474questions or require technical assistance, please contact Freescale.
475Microsoft Corporation is a third party beneficiary to this Agreement
476with the right to enforce the terms of this Agreement.
477
478TO THE MAXIMUM EXTENT PERMITTED BY LAW, MICROSOFT AND ITS FFILIATES
479DISCLAIM ANY WARRANTIES FOR THE MICROSOFT UNDERLYING SOFTWARE.
480TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER MICROSOFT NOR
481ITS AFFILIATES WILL BE LIABLE, WHETHER IN CONTRACT, TORT, OR
482OTHERWISE, FOR ANY DIRECT, INCIDENTAL, SPECIAL, INDIRECT,
483CONSEQUENTIAL OR PUNITIVE DAMAGES, INCLUDING, BUT NOT LIMITED
484TO, DAMAGES FOR ANY LOSS OF USE, LOSS OF TIME, INCONVENIENCE,
485COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR REVENUES, ARISING
486FROM THE FROM THE USE OF THE MICROSOFT UNDERLYING SOFTWARE.
487
488SanDisk Corporation Software
489
490 If the Licensed Software includes software developed
491by SanDisk Corporation ("SanDisk"), you must separately obtain
492the rights to reproduce and distribute this software in source
493code form from SanDisk. Please follow these easy steps to obtain
494the license and software:
495
4961. Contact your local SanDisk sales representative to obtain
497the SanDisk License Agreement.
498
4992. Sign the license agreement. Fax the signed agreement to
500SanDisk USA marketing department at 408-542-0403. The license will
501be valid when fully executed by SanDisk.
502
5033. If you have specific questions, please send an email to
504sales@sandisk.com
505
506 You may only use the SanDisk Corporation Software on
507products compatible with a SanDisk Secure Digital Card. You may not
508use the SanDisk Corporation Software on any memory device product.
509SanDisk retains all rights to any modifications or derivative works
510to the SanDisk Corporation Software that you may create.
511
512Global Locate
513
514If the Licensed Software includes software and hardware developed by
515Global Locate, Inc. ("Global Locate"), and acquired by Broadcom
516Corporation, you must separately obtain rights beyond evaluation
517and demonstration for the Global Locate software from Broadcom Corporation.
518
519CSR
520
521If the Licensed Software includes software and hardware developed
522by Cambridge Silicon Radio, Inc. ("CSR"), you must separately obtain
523rights beyond evaluation and demonstration for the CSR software from CSR.
diff --git a/README b/README
new file mode 100644
index 0000000..154f0f0
--- /dev/null
+++ b/README
@@ -0,0 +1,51 @@
1OpenEmbedded/Yocto BSP layer for Freescale's ARM platforms
2==========================================================
3
4This layer provides support for Freescale's ARM platforms for use with
5OpenEmbedded and/or Yocto.
6
7This layer depends on:
8
9URI: git://git.openembedded.org/openembedded-core
10branch: master
11revision: HEAD
12
13EULA
14----
15
16Some SoC depends on libraries and packages that are covered by
17Freescale EULA. To have the right to use those binaries in your images
18you need to read and accept the EULA at EULA.txt file.
19
20In order to accept it, you should add, in your local.conf file:
21
22ACCEPT_FSL_EULA = "1"
23
24Contributing
25------------
26
27To contribute to this layer you should submit the patches for review to the
28mailing list (meta-freescale@yoctoproject.org).
29
30Please refer to:
31https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information
32
33for some useful guidelines to be followed when submitting patches.
34
35Mailing list:
36
37 https://lists.yoctoproject.org/listinfo/meta-freescale
38
39Source code:
40
41 git://git.yoctoproject.org/meta-fsl-arm
42 http://git.yoctoproject.org/git/meta-fsl-arm
43 https://github.com/Freescale/meta-fsl-arm
44
45When creating patches, please use something like:
46
47 git format-patch -s --subject-prefix='meta-fsl-arm][PATCH' origin
48
49When sending patches, please use something like:
50
51 git send-email --to meta-freescale@yoctoproject.org <generated patch>
diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass
new file mode 100644
index 0000000..40eae6c
--- /dev/null
+++ b/classes/fsl-dynamic-packagearch.bbclass
@@ -0,0 +1,47 @@
1# Automatically set PACKAGE_ARCH for MACHINE_SOCARCH
2#
3# This allow to easy reuse of binary packages among similar SoCs. The
4# usual use for this is to share SoC specific packages among different
5# boards.
6#
7# MACHINE_SOCARCH_FILTER list all packages associated with
8# MACHINE_SOCARCH and, when match, will set PACKAGE_ARCH as MACHINE_SOCARCH
9#
10# MACHINE_ARCH_FILTER list all packages associated with
11# MACHINE_ARCH and, when match, will set PACKAGE_ARCH as MACHINE_ARCH
12#
13# For example, in meta-fsl-arm, this is used to share GPU packages for
14# i.MX53 boards (as all them share the AMD GPU) and i.MX6 based boards
15# (as all them share Vivante GPU).
16#
17# To use the class, specify, for example:
18#
19# MACHINE_SOCARCH_soc = "${TUNE_PKGARCH}-soc"
20#
21# and the need filters, as:
22#
23# MACHINE_ARCH_FILTER = "virtual/kernel"
24# MACHINE_SOCARCH_FILTER_soc = "virtual/libgles1 ... virtual/libgl"
25#
26# Copyright 2013 (C) O.S. Systems Software LTDA.
27
28python __anonymous () {
29 machine_arch_filter = set((d.getVar("MACHINE_ARCH_FILTER", True) or "").split())
30 machine_socarch_filter = set((d.getVar("MACHINE_SOCARCH_FILTER", True) or "").split())
31 if machine_socarch_filter or machine_arch_filter:
32 provides = set((d.getVar("PROVIDES", True) or "").split())
33 depends = set((d.getVar("DEPENDS", True) or "").split())
34 PN = d.getVar("PN", True)
35
36 package_arch = None
37 if list(machine_arch_filter & (provides | depends)):
38 package_arch = d.getVar("MACHINE_ARCH", True)
39 elif list(machine_socarch_filter & (provides | depends)):
40 package_arch = d.getVar("MACHINE_SOCARCH", True)
41 if not package_arch:
42 bb.parse.SkipPackage("You must set MACHINE_SOCARCH as MACHINE_SOCARCH_FILTER is set for this SoC.")
43
44 if package_arch:
45 bb.debug(1, "Use '%s' as package archictecture for '%s'" % (package_arch, PN))
46 d.setVar("PACKAGE_ARCH", package_arch)
47}
diff --git a/classes/fsl-eula-unpack.bbclass b/classes/fsl-eula-unpack.bbclass
new file mode 100644
index 0000000..0da17c3
--- /dev/null
+++ b/classes/fsl-eula-unpack.bbclass
@@ -0,0 +1,63 @@
1# fsl-eula-unpack.bbclass provides the mechanism used for unpacking
2# the .bin file downloaded by HTTP and handle the EULA acceptance.
3#
4# To use it, the 'fsl-eula' parameter needs to be added to the
5# SRC_URI entry, e.g:
6#
7# SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV};fsl-eula=true"
8
9python fsl_bin_do_unpack() {
10 src_uri = (d.getVar('SRC_URI', True) or "").split()
11 if len(src_uri) == 0:
12 return
13
14 localdata = bb.data.createCopy(d)
15 bb.data.update_data(localdata)
16
17 rootdir = localdata.getVar('WORKDIR', True)
18 fetcher = bb.fetch2.Fetch(src_uri, localdata)
19
20 for url in fetcher.ud.values():
21 save_cwd = os.getcwd()
22 # Check for supported fetchers
23 if url.type in ['http', 'https', 'ftp', 'file']:
24 if url.parm.get('fsl-eula', False):
25 # If download has failed, do nothing
26 if not os.path.exists(url.localpath):
27 bb.debug(1, "Exiting as '%s' cannot be found" % url.basename)
28 return
29
30 # Change to the working directory
31 bb.note("Handling file '%s' as a Freescale's EULA binary." % url.basename)
32 save_cwd = os.getcwd()
33 os.chdir(rootdir)
34
35 cmd = "sh %s --auto-accept --force" % (url.localpath)
36 bb.fetch2.runfetchcmd(cmd, d, quiet=True)
37
38 # Return to the previous directory
39 os.chdir(save_cwd)
40}
41
42python do_unpack() {
43 eula = d.getVar('ACCEPT_FSL_EULA', True)
44 eula_file = d.getVar('FSL_EULA_FILE', True)
45 pkg = d.getVar('PN', True)
46 if eula == None:
47 bb.fatal("To use '%s' you need to accept the Freescale EULA at '%s'. "
48 "Please read it and in case you accept it, write: "
49 "ACCEPT_FSL_EULA = \"1\" in your local.conf." % (pkg, eula_file))
50 elif eula == '0':
51 bb.fatal("To use '%s' you need to accept the Freescale EULA." % pkg)
52 else:
53 bb.note("Freescale EULA has been accepted for '%s'" % pkg)
54
55 try:
56 bb.build.exec_func('base_do_unpack', d)
57 except:
58 raise
59
60 bb.build.exec_func('fsl_bin_do_unpack', d)
61}
62
63do_unpack[vardepsexclude] += "FSL_EULA_FILE"
diff --git a/classes/image_types_fsl.bbclass b/classes/image_types_fsl.bbclass
new file mode 100644
index 0000000..dfa55e4
--- /dev/null
+++ b/classes/image_types_fsl.bbclass
@@ -0,0 +1,312 @@
1inherit image_types
2
3IMAGE_BOOTLOADER ?= "u-boot"
4
5# Handle u-boot suffixes
6UBOOT_SUFFIX ?= "bin"
7UBOOT_PADDING ?= "0"
8UBOOT_SUFFIX_SDCARD ?= "${UBOOT_SUFFIX}"
9
10#
11# Handles i.MX mxs bootstream generation
12#
13
14# IMX Bootlets Linux bootstream
15IMAGE_DEPENDS_linux.sb = "elftosb-native:do_populate_sysroot \
16 imx-bootlets:do_deploy \
17 virtual/kernel:do_deploy"
18IMAGE_LINK_NAME_linux.sb = ""
19IMAGE_CMD_linux.sb () {
20 kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
21 kernel_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.dtb || true`"
22 linux_bd_file=imx-bootlets-linux.bd-${MACHINE}
23 if [ `basename $kernel_bin .bin` = `basename $kernel_dtb .dtb` ]; then
24 # When using device tree we build a zImage with the dtb
25 # appended on the end of the image
26 linux_bd_file=imx-bootlets-linux.bd-dtb-${MACHINE}
27 cat $kernel_bin $kernel_dtb \
28 > $kernel_bin-dtb
29 rm -f ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
30 ln -s $kernel_bin-dtb ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin-dtb
31 fi
32
33 # Ensure the file is generated
34 rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb
35 (cd ${DEPLOY_DIR_IMAGE}; elftosb -z -c $linux_bd_file -o ${IMAGE_NAME}.linux.sb)
36
37 # Remove the appended file as it is only used here
38 rm -f ${DEPLOY_DIR_IMAGE}/$kernel_bin-dtb
39}
40
41# IMX Bootlets barebox bootstream
42IMAGE_DEPENDS_barebox.mxsboot-sdcard = "elftosb-native:do_populate_sysroot \
43 u-boot-mxsboot-native:do_populate_sysroot \
44 imx-bootlets:do_deploy \
45 barebox:do_deploy"
46IMAGE_CMD_barebox.mxsboot-sdcard () {
47 barebox_bd_file=imx-bootlets-barebox_ivt.bd-${MACHINE}
48
49 # Ensure the files are generated
50 (cd ${DEPLOY_DIR_IMAGE}; rm -f ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard; \
51 elftosb -f mx28 -z -c $barebox_bd_file -o ${IMAGE_NAME}.barebox.sb; \
52 mxsboot sd ${IMAGE_NAME}.barebox.sb ${IMAGE_NAME}.barebox.mxsboot-sdcard)
53}
54
55# U-Boot mxsboot generation to SD-Card
56UBOOT_SUFFIX_SDCARD_mxs ?= "mxsboot-sdcard"
57IMAGE_DEPENDS_uboot.mxsboot-sdcard = "u-boot-mxsboot-native:do_populate_sysroot \
58 u-boot:do_deploy"
59IMAGE_CMD_uboot.mxsboot-sdcard = "mxsboot sd ${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX} \
60 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard"
61
62# Boot partition volume id
63BOOTDD_VOLUME_ID ?= "Boot ${MACHINE}"
64
65# Boot partition size [in KiB]
66BOOT_SPACE ?= "8192"
67
68# Barebox environment size [in KiB]
69BAREBOX_ENV_SPACE ?= "512"
70
71# Set alignment to 4MB [in KiB]
72IMAGE_ROOTFS_ALIGNMENT = "4096"
73
74IMAGE_DEPENDS_sdcard = "parted-native:do_populate_sysroot \
75 dosfstools-native:do_populate_sysroot \
76 mtools-native:do_populate_sysroot \
77 virtual/kernel:do_deploy \
78 ${@d.getVar('IMAGE_BOOTLOADER', True) and d.getVar('IMAGE_BOOTLOADER', True) + ':do_deploy' or ''}"
79
80SDCARD = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sdcard"
81
82SDCARD_GENERATION_COMMAND_mxs = "generate_mxs_sdcard"
83SDCARD_GENERATION_COMMAND_mx25 = "generate_imx_sdcard"
84SDCARD_GENERATION_COMMAND_mx5 = "generate_imx_sdcard"
85SDCARD_GENERATION_COMMAND_mx6 = "generate_imx_sdcard"
86SDCARD_GENERATION_COMMAND_vf60 = "generate_imx_sdcard"
87
88#
89# Create an image that can by written onto a SD card using dd for use
90# with i.MX SoC family
91#
92# External variables needed:
93# ${SDCARD_ROOTFS} - the rootfs image to incorporate
94# ${IMAGE_BOOTLOADER} - bootloader to use {u-boot, barebox}
95#
96# The disk layout used is:
97#
98# 0 -> IMAGE_ROOTFS_ALIGNMENT - reserved to bootloader (not partitioned)
99# IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE - kernel and other data
100# BOOT_SPACE -> SDIMG_SIZE - rootfs
101#
102# Default Free space = 1.3x
103# Use IMAGE_OVERHEAD_FACTOR to add more space
104# <--------->
105# 4MiB 8MiB SDIMG_ROOTFS 4MiB
106# <-----------------------> <----------> <----------------------> <------------------------------>
107# ------------------------ ------------ ------------------------ -------------------------------
108# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
109# ------------------------ ------------ ------------------------ -------------------------------
110# ^ ^ ^ ^ ^
111# | | | | |
112# 0 4096 4MiB + 8MiB 4MiB + 8Mib + SDIMG_ROOTFS 4MiB + 8MiB + SDIMG_ROOTFS + 4MiB
113generate_imx_sdcard () {
114 # Create partition table
115 parted -s ${SDCARD} mklabel msdos
116 parted -s ${SDCARD} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
117 parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
118 parted ${SDCARD} print
119
120 # Burn bootloader
121 case "${IMAGE_BOOTLOADER}" in
122 imx-bootlets)
123 bberror "The imx-bootlets is not supported for i.MX based machines"
124 exit 1
125 ;;
126 u-boot)
127 if [ -n "${SPL_BINARY}" ]; then
128 dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDCARD} conv=notrunc seek=2 bs=512
129 dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=42 bs=1K
130 else
131 dd if=${DEPLOY_DIR_IMAGE}/u-boot-${MACHINE}.${UBOOT_SUFFIX_SDCARD} of=${SDCARD} conv=notrunc seek=2 skip=${UBOOT_PADDING} bs=512
132 fi
133 ;;
134 barebox)
135 dd if=${DEPLOY_DIR_IMAGE}/barebox-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 skip=1 bs=512
136 dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=1 bs=512k
137 ;;
138 "")
139 ;;
140 *)
141 bberror "Unkown IMAGE_BOOTLOADER value"
142 exit 1
143 ;;
144 esac
145
146 # Create boot partition image
147 BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
148 | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
149 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
150 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
151
152 # Copy boot scripts
153 for item in ${BOOT_SCRIPTS}; do
154 src=`echo $item | awk -F':' '{ print $1 }'`
155 dst=`echo $item | awk -F':' '{ print $2 }'`
156
157 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/$src ::/$dst
158 done
159
160 # Copy device tree file
161 if test -n "${KERNEL_DEVICETREE}"; then
162 for DTS_FILE in ${KERNEL_DEVICETREE}; do
163 DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
164 if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
165 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
166 kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
167 if [ $kernel_bin = $kernel_bin_for_dtb ]; then
168 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
169 fi
170 fi
171 done
172 fi
173
174 # Burn Partition
175 dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
176 dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
177}
178
179#
180# Create an image that can by written onto a SD card using dd for use
181# with i.MXS SoC family
182#
183# External variables needed:
184# ${SDCARD_ROOTFS} - the rootfs image to incorporate
185# ${IMAGE_BOOTLOADER} - bootloader to use {imx-bootlets, u-boot}
186#
187generate_mxs_sdcard () {
188 # Create partition table
189 parted -s ${SDCARD} mklabel msdos
190
191 case "${IMAGE_BOOTLOADER}" in
192 imx-bootlets)
193 # The disk layout used is:
194 #
195 # 0 -> 1024 - Unused (not partitioned)
196 # 1024 -> BOOT_SPACE - kernel and other data (bootstream)
197 # BOOT_SPACE -> SDIMG_SIZE - rootfs
198 #
199 # Default Free space = 1.3x
200 # Use IMAGE_OVERHEAD_FACTOR to add more space
201 # <--------->
202 # 1024 8MiB SDIMG_ROOTFS 4MiB
203 # <-------> <----------> <----------------------> <------------------------------>
204 # --------------------- ------------------------ -------------------------------
205 # | Unused | BOOT_SPACE | ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
206 # --------------------- ------------------------ -------------------------------
207 # ^ ^ ^ ^ ^
208 # | | | | |
209 # 0 1024 1024 + 8MiB 1024 + 8Mib + SDIMG_ROOTFS 1024 + 8MiB + SDIMG_ROOTFS + 4MiB
210 parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
211 parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
212
213 # Empty 4 bytes from boot partition
214 dd if=/dev/zero of=${SDCARD} conv=notrunc seek=2048 count=4
215
216 # Write the bootstream in (2048 + 4) bytes
217 dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.linux.sb of=${SDCARD} conv=notrunc seek=1 seek=2052
218 ;;
219 u-boot)
220 # The disk layout used is:
221 #
222 # 1M - 2M - reserved to bootloader and other data
223 # 2M - BOOT_SPACE - kernel
224 # BOOT_SPACE - SDCARD_SIZE - rootfs
225 #
226 # The disk layout used is:
227 #
228 # 1M -> 2M - reserved to bootloader and other data
229 # 2M -> BOOT_SPACE - kernel and other data
230 # BOOT_SPACE -> SDIMG_SIZE - rootfs
231 #
232 # Default Free space = 1.3x
233 # Use IMAGE_OVERHEAD_FACTOR to add more space
234 # <--------->
235 # 4MiB 8MiB SDIMG_ROOTFS 4MiB
236 # <-----------------------> <-------------> <----------------------> <------------------------------>
237 # ---------------------------------------- ------------------------ -------------------------------
238 # | | | |ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT |
239 # ---------------------------------------- ------------------------ -------------------------------
240 # ^ ^ ^ ^ ^ ^ ^
241 # | | | | | | |
242 # 0 1M 2M 4M 4MiB + BOOTSPACE 4MiB + BOOTSPACE + SDIMG_ROOTFS 4MiB + BOOTSPACE + SDIMG_ROOTFS + 4MiB
243 #
244 parted -s ${SDCARD} unit KiB mkpart primary 1024 2048
245 parted -s ${SDCARD} unit KiB mkpart primary 2048 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
246 parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
247
248 dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.uboot.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 skip=${UBOOT_PADDING} bs=$(expr 1024 \* 1024)
249 BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDCARD} unit b print \
250 | awk '/ 2 / { print substr($4, 1, length($4 -1)) / 1024 }')
251
252 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
253 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
254 if test -n "${KERNEL_DEVICETREE}"; then
255 for DTS_FILE in ${KERNEL_DEVICETREE}; do
256 DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
257 if [ -e "${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
258 kernel_bin="`readlink ${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
259 kernel_bin_for_dtb="`readlink ${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
260 if [ $kernel_bin = $kernel_bin_for_dtb ]; then
261 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
262 fi
263 fi
264 done
265 fi
266
267 dd if=${WORKDIR}/boot.img of=${SDCARD} conv=notrunc seek=2 bs=$(expr 1024 \* 1024)
268 ;;
269 barebox)
270 # BAREBOX_ENV_SPACE is taken on BOOT_SPACE_ALIGNED but it doesn't really matter as long as the rootfs is aligned
271 parted -s ${SDCARD} unit KiB mkpart primary 1024 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE})
272 parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
273 parted -s ${SDCARD} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
274
275 dd if=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.barebox.mxsboot-sdcard of=${SDCARD} conv=notrunc seek=1 bs=$(expr 1024 \* 1024)
276 dd if=${DEPLOY_DIR_IMAGE}/bareboxenv-${MACHINE}.bin of=${SDCARD} conv=notrunc seek=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} - ${BAREBOX_ENV_SPACE}) bs=1024
277 ;;
278 *)
279 bberror "Unkown IMAGE_BOOTLOADER value"
280 exit 1
281 ;;
282 esac
283
284 # Change partition type for mxs processor family
285 bbnote "Setting partition type to 0x53 as required for mxs' SoC family."
286 echo -n S | dd of=${SDCARD} bs=1 count=1 seek=450 conv=notrunc
287
288 parted ${SDCARD} print
289
290 dd if=${SDCARD_ROOTFS} of=${SDCARD} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
291}
292
293IMAGE_CMD_sdcard () {
294 if [ -z "${SDCARD_ROOTFS}" ]; then
295 bberror "SDCARD_ROOTFS is undefined. To use sdcard image from Freescale's BSP it needs to be defined."
296 exit 1
297 fi
298
299 # Align boot partition and calculate total SD card image size
300 BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
301 BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
302 SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
303
304 # Initialize a sparse file
305 dd if=/dev/zero of=${SDCARD} bs=1 count=0 seek=$(expr 1024 \* ${SDCARD_SIZE})
306
307 ${SDCARD_GENERATION_COMMAND}
308}
309
310# The sdcard requires the rootfs filesystem to be built before using
311# it so we must make this dependency explicit.
312IMAGE_TYPEDEP_sdcard = "${@d.getVar('SDCARD_ROOTFS', 1).split('.')[-1]}"
diff --git a/classes/mfgtool-initramfs-image.bbclass b/classes/mfgtool-initramfs-image.bbclass
new file mode 100644
index 0000000..a9a2adf
--- /dev/null
+++ b/classes/mfgtool-initramfs-image.bbclass
@@ -0,0 +1,40 @@
1# Generates a Manufacturing Tool Initramfs image
2#
3# This generates the initramfs used for the installation process. The
4# image provides the utilities which are used, in the target, during
5# the process and receive the commands from the MfgTool application.
6#
7# Copyright 2014 (C) O.S. Systems Software LTDA.
8
9DEPENDS += "u-boot-mfgtool linux-mfgtool"
10
11FEATURE_PACKAGES_mtd = "packagegroup-fsl-mfgtool-mtd"
12FEATURE_PACKAGES_extfs = "packagegroup-fsl-mfgtool-extfs"
13
14IMAGE_FSTYPES = "cpio.gz.u-boot"
15IMAGE_ROOTFS_SIZE ?= "8192"
16IMAGE_CLASSES = "image_types_uboot"
17
18# Filesystems enabled by default
19DEFAULT_FS_SUPPORT = " \
20 mtd \
21 extfs \
22"
23
24IMAGE_FEATURES = " \
25 ${DEFAULT_FS_SUPPORT} \
26 \
27 read-only-rootfs \
28"
29
30# Avoid installation of syslog
31BAD_RECOMMENDATIONS += "busybox-syslog"
32
33# Avoid static /dev
34USE_DEVFS = "1"
35
36inherit core-image
37
38CORE_IMAGE_BASE_INSTALL = " \
39 ${CORE_IMAGE_EXTRA_INSTALL} \
40"
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..e260e62
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,23 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have a packages directory, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6 ${LAYERDIR}/recipes-*/*/*.bbappend"
7
8BBFILE_COLLECTIONS += "fsl-arm"
9BBFILE_PATTERN_fsl-arm := "^${LAYERDIR}/"
10BBFILE_PRIORITY_fsl-arm = "5"
11
12FSL_EULA_FILE = "${LAYERDIR}/EULA"
13
14FSL_MIRROR ?= "http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/"
15
16MIRRORS += " \
17${FSL_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
18"
19
20# Let us add layer-specific bbappends which are only applied when that
21# layer is included in our configuration
22BBFILES += "${@' '.join('${LAYERDIR}/%s/recipes*/*/*.bbappend' % layer \
23 for layer in BBFILE_COLLECTIONS.split())}"
diff --git a/conf/machine/imx23evk.conf b/conf/machine/imx23evk.conf
new file mode 100644
index 0000000..681783a
--- /dev/null
+++ b/conf/machine/imx23evk.conf
@@ -0,0 +1,20 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX23 Evaluation Kit
3#@SOC: i.MX23
4#@DESCRIPTION: Machine configuration for Freescale i.MX23 Evaluation Kit
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7include conf/machine/include/mxs-base.inc
8
9SOC_FAMILY = "mxs:mx23"
10
11IMXBOOTLETS_MACHINE = "stmp378x_dev"
12UBOOT_MACHINE = "mx23evk_config"
13
14KERNEL_IMAGETYPE = "uImage"
15KERNEL_DEVICETREE = "imx23-evk.dtb"
16
17SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
18IMAGE_FSTYPES ?= "tar.bz2 ext3 uboot.mxsboot-sdcard sdcard"
19
20MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
diff --git a/conf/machine/imx28evk.conf b/conf/machine/imx28evk.conf
new file mode 100644
index 0000000..d4f1ad6
--- /dev/null
+++ b/conf/machine/imx28evk.conf
@@ -0,0 +1,54 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX28 Evaluation Kit
3#@SOC: i.MX28
4#@DESCRIPTION: Machine configuration for Freescale i.MX28 Evaluation Kit
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7include conf/machine/include/mxs-base.inc
8
9SOC_FAMILY = "mxs:mx28"
10
11IMXBOOTLETS_MACHINE = "iMX28_EVK"
12
13UBOOT_CONFIG ??= "sd"
14UBOOT_CONFIG[sd] = "mx28evk_config,sdcard"
15UBOOT_CONFIG[nand] = "mx28evk_nand_config,ubifs"
16UBOOT_CONFIG[sd-auart-console] = "mx28evk_auart_console_config,sdcard"
17
18KERNEL_IMAGETYPE = "uImage"
19KERNEL_DEVICETREE = "imx28-evk.dtb"
20
21SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
22IMAGE_FSTYPES ?= "tar.bz2 ext3 uboot.mxsboot-sdcard sdcard"
23
24SERIAL_CONSOLE = "115200 ttyAMA0"
25
26MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
27
28## Parameters for NAND IC part-# K9LBG08U0D-PCB0
29
30MKUBIFS_ARGS = "--min-io-size 4096 --leb-size 516096 --max-leb-cnt 8139"
31UBINIZE_ARGS = "--min-io-size 4096 --peb-size 524288 --sub-page-size 4096"
32
33## To determine parameters' values, run "ubiattach -m 6 /dev/ubi_ctrl"
34## (assuming the rootfs device is /dev/mtd6). Here's an example:
35
36# # ubiattach -m 6 /dev/ubi_ctrl
37# [ 28.640396] UBI: attaching mtd6 to ubi0
38# [ 53.000817] UBI: scanning is finished
39# [ 53.126052] UBI: attached mtd6 (name "filesystem", size 4079 MiB) to ubi0
40# [ 53.133109] UBI: PEB size: 524288 bytes (512 KiB), LEB size: 516096 bytes
41# [ 53.140149] UBI: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
42# [ 53.146895] UBI: VID header offset: 4096 (aligned 4096), data offset: 8192
43# [ 53.153931] UBI: good PEBs: 8139, bad PEBs: 20, corrupted PEBs: 0
44# [ 53.160263] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
45# [ 53.167444] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
46# [ 53.175872] UBI: available PEBs: 4113, total reserved PEBs: 4026, PEBs reserved for bad PEB handling: 140
47# [ 53.189399] UBI: background thread "ubi_bgt0d" started, PID 217
48# UBI device number 0, total 8139 LEBs (4200505344 bytes, f GiB), available 4113 LEBs (2122702848 bytes, f GiB), LEB size 516096 bytes (f KiB)
49
50# --min-io-size: see "min./max. I/O unit sizes: " in the ubiattach output
51# --leb-size: see "LEB size:" in the ubiattach output
52# --max-leb-cnt: see "total <n> LEBs" in the ubiattach output, where <n> is the number you want
53# --peb-size: see "PEB size:" in the ubiattach output (pick the value in bytes)
54# --sub-page-size: see "sub-page size" in the ubiattach output
diff --git a/conf/machine/imx31pdk.conf b/conf/machine/imx31pdk.conf
new file mode 100644
index 0000000..50da78e
--- /dev/null
+++ b/conf/machine/imx31pdk.conf
@@ -0,0 +1,23 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX31 Platform Development Kit
3#@SOC: i.MX31
4#@DESCRIPTION: Machine configuration for Freescale i.MX31 Platform Development Kit
5
6include conf/machine/include/imx-base.inc
7require conf/machine/include/tune-arm1136jf-s.inc
8
9SOC_FAMILY = "mx3:mx31"
10
11GUI_MACHINE_CLASS = "smallscreen"
12
13UBOOT_MAKE_TARGET = "u-boot-with-spl.bin"
14UBOOT_SUFFIX = "bin"
15UBOOT_MACHINE = "mx31pdk_config"
16UBOOT_BINARY = "u-boot-with-spl.bin"
17
18IMAGE_FSTYPES = "ubi jffs2 tar.bz2"
19MKUBIFS_ARGS = "-m 2048 -e 129024 -c 2030"
20UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
21
22MACHINE_FEATURES += "ext3 bluetooth ext2 screen"
23
diff --git a/conf/machine/imx35pdk.conf b/conf/machine/imx35pdk.conf
new file mode 100644
index 0000000..b49e9f2
--- /dev/null
+++ b/conf/machine/imx35pdk.conf
@@ -0,0 +1,24 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX35 Platform Development Kit
3#@SOC: i.MX35
4#@DESCRIPTION: Machine configuration for Freescale i.MX35 Platform Development Kit
5
6include conf/machine/include/imx-base.inc
7require conf/machine/include/tune-arm1136jf-s.inc
8
9SOC_FAMILY = "mx3:mx35"
10
11UBOOT_MACHINE = "mx35pdk_config"
12UBOOT_SUFFIX = "bin"
13UBOOT_BINARY = "u-boot.bin"
14UBOOT_MAKE_TARGET = "u-boot.bin"
15
16GUI_MACHINE_CLASS = "bigscreen"
17
18ROOT_FLASH_SIZE = "256"
19
20JFFS2_ERASEBLOCK = "0x20000"
21
22IMAGE_FSTYPES += "jffs2 tar.bz2"
23
24MACHINE_FEATURES += "ext2 ext3 screen"
diff --git a/conf/machine/imx51evk.conf b/conf/machine/imx51evk.conf
new file mode 100644
index 0000000..d9aea7c
--- /dev/null
+++ b/conf/machine/imx51evk.conf
@@ -0,0 +1,14 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX51 Evaluation Kit
3#@SOC: i.MX51
4#@DESCRIPTION: Machine configuration for Freescale i.MX51 Evaluation Kit
5#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
6
7include conf/machine/include/imx-base.inc
8include conf/machine/include/tune-cortexa8.inc
9
10SOC_FAMILY = "mx5:mx51"
11
12KERNEL_DEVICETREE = "imx51-babbage.dtb"
13
14UBOOT_MACHINE = "mx51evk_config"
diff --git a/conf/machine/imx53ard.conf b/conf/machine/imx53ard.conf
new file mode 100644
index 0000000..2da165a
--- /dev/null
+++ b/conf/machine/imx53ard.conf
@@ -0,0 +1,18 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX53 SABRE Automotive Board
3#@SOC: i.MX53
4#@DESCRIPTION: Machine configuration for Freescale i.MX53 SABRE Automotive Board
5#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
6
7include conf/machine/include/imx-base.inc
8include conf/machine/include/tune-cortexa8.inc
9
10SOC_FAMILY = "mx5:mx53"
11
12KERNEL_DEVICETREE = "imx53-ard.dtb"
13
14UBOOT_MACHINE = "mx53ard_config"
15
16MACHINE_FIRMWARE += "linux-firmware-ar3k \
17 linux-firmware-ath6k"
18MACHINE_FEATURES += "wifi bluetooth"
diff --git a/conf/machine/imx53qsb.conf b/conf/machine/imx53qsb.conf
new file mode 100644
index 0000000..e3ddd5f
--- /dev/null
+++ b/conf/machine/imx53qsb.conf
@@ -0,0 +1,18 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX53 Quick Start Board
3#@SOC: i.MX53
4#@DESCRIPTION: Machine configuration for Freescale i.MX53 Quick Start Board
5#@MAINTAINER: Trevor Woerner <trevor.woerner@linaro.org>
6
7include conf/machine/include/imx-base.inc
8include conf/machine/include/tune-cortexa8.inc
9
10SOC_FAMILY = "mx5:mx53"
11
12KERNEL_DEVICETREE = "imx53-qsb.dtb"
13
14UBOOT_MACHINE = "mx53loco_config"
15
16MACHINE_FIRMWARE = "linux-firmware-ar3k \
17 linux-firmware-ath6k"
18MACHINE_FEATURES += " wifi bluetooth"
diff --git a/conf/machine/imx6dlsabreauto.conf b/conf/machine/imx6dlsabreauto.conf
new file mode 100644
index 0000000..29d79d5
--- /dev/null
+++ b/conf/machine/imx6dlsabreauto.conf
@@ -0,0 +1,22 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6DL SABRE Automotive
3#@SOC: i.MX6DL
4#@DESCRIPTION: Machine configuration for Freescale i.MX6DL SABRE Automotive
5#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
6
7require conf/machine/include/imx6sabreauto-common.inc
8
9SOC_FAMILY = "mx6:mx6dl"
10
11KERNEL_DEVICETREE = "imx6dl-sabreauto.dtb imx6dl-sabreauto-gpmi-weim.dtb imx6dl-sabreauto-ecspi.dtb "
12KERNEL_DEVICETREE += "imx6dl-sabreauto-flexcan1.dtb "
13
14PREFERRED_PROVIDER_u-boot = "u-boot-imx"
15PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
16
17UBOOT_CONFIG ??= "sd"
18UBOOT_CONFIG[sd] = "mx6dlsabreauto_config,sdcard"
19UBOOT_CONFIG[eimnor] = "mx6dlsabreauto_eimnor_config"
20UBOOT_CONFIG[nand] = "mx6dlsabreauto_nand_config,ubifs"
21UBOOT_CONFIG[spinor] = "mx6dlsabreauto_spinor_config"
22UBOOT_CONFIG[mfgtool] = "mx6dlsabreauto_config"
diff --git a/conf/machine/imx6dlsabresd.conf b/conf/machine/imx6dlsabresd.conf
new file mode 100644
index 0000000..1e934e1
--- /dev/null
+++ b/conf/machine/imx6dlsabresd.conf
@@ -0,0 +1,15 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6DL SABRE Smart Device
3#@SOC: i.MX6DL
4#@DESCRIPTION: Machine configuration for Freescale i.MX6DL SABRE Smart Device
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7require conf/machine/include/imx6sabresd-common.inc
8
9SOC_FAMILY = "mx6:mx6dl"
10
11KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb imx6dl-sabresd-hdcp.dtb"
12
13UBOOT_CONFIG ??= "sd"
14UBOOT_CONFIG[sd] = "mx6dlsabresd_config,sdcard"
15UBOOT_CONFIG[mfgtool] = "mx6dlsabresd_config"
diff --git a/conf/machine/imx6qsabreauto.conf b/conf/machine/imx6qsabreauto.conf
new file mode 100644
index 0000000..b8fdce4
--- /dev/null
+++ b/conf/machine/imx6qsabreauto.conf
@@ -0,0 +1,20 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6Q SABRE Automotive
3#@SOC: i.MX6Q
4#@DESCRIPTION: Machine configuration for Freescale i.MX6Q SABRE Automotive
5#@MAINTAINER: Daiane Angolini <daiane.angolini@freescale.com>
6
7require conf/machine/include/imx6sabreauto-common.inc
8
9SOC_FAMILY = "mx6:mx6q"
10
11KERNEL_DEVICETREE = "imx6q-sabreauto.dtb imx6q-sabreauto-gpmi-weim.dtb imx6q-sabreauto-ecspi.dtb "
12KERNEL_DEVICETREE += "imx6q-sabreauto-flexcan1.dtb "
13
14UBOOT_CONFIG ??= "sd"
15UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard"
16UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config"
17UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs"
18UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config"
19UBOOT_CONFIG[sata] = "mx6qsabreauto_sata_config"
20UBOOT_CONFIG[mfgtool] = "mx6qsabreauto_config"
diff --git a/conf/machine/imx6qsabresd.conf b/conf/machine/imx6qsabresd.conf
new file mode 100644
index 0000000..4b493b9
--- /dev/null
+++ b/conf/machine/imx6qsabresd.conf
@@ -0,0 +1,16 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6Q SABRE Smart Device
3#@SOC: i.MX6Q
4#@DESCRIPTION: Machine configuration for Freescale i.MX6Q SABRE Smart Device
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7require conf/machine/include/imx6sabresd-common.inc
8
9SOC_FAMILY = "mx6:mx6q"
10
11KERNEL_DEVICETREE = "imx6q-sabresd.dtb imx6q-sabresd-ldo.dtb imx6q-sabresd-hdcp.dtb"
12
13UBOOT_CONFIG ??= "sd"
14UBOOT_CONFIG[sd] = "mx6qsabresd_config,sdcard"
15UBOOT_CONFIG[sata] = "mx6qsabresd_sata_config"
16UBOOT_CONFIG[mfgtool] = "mx6qsabresd_config"
diff --git a/conf/machine/imx6slevk.conf b/conf/machine/imx6slevk.conf
new file mode 100644
index 0000000..cffbd0b
--- /dev/null
+++ b/conf/machine/imx6slevk.conf
@@ -0,0 +1,23 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6SL Evaluation Kit
3#@SOC: i.MX6SL
4#@DESCRIPTION: Machine configuration for Freescale i.MX6SL Evaluation Kit
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7include conf/machine/include/imx-base.inc
8include conf/machine/include/tune-cortexa9.inc
9
10SOC_FAMILY = "mx6:mx6sl"
11
12KERNEL_DEVICETREE = "imx6sl-evk.dtb imx6sl-evk-csi.dtb imx6sl-evk-ldo.dtb"
13
14UBOOT_CONFIG ??= "sd"
15UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard"
16UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config"
17UBOOT_CONFIG[mfgtool] = "mx6slevk_config"
18
19SERIAL_CONSOLE = "115200 ttymxc0"
20
21MACHINE_FEATURES += " pci wifi bluetooth"
22
23MACHINE_FIRMWARE += "linux-firmware-ath6k"
diff --git a/conf/machine/imx6solosabreauto.conf b/conf/machine/imx6solosabreauto.conf
new file mode 100644
index 0000000..255c189
--- /dev/null
+++ b/conf/machine/imx6solosabreauto.conf
@@ -0,0 +1,20 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6Solo SABRE Automotive
3#@SOC: i.MX6S
4#@DESCRIPTION: Machine configuration for Freescale i.MX6Solo SABRE Automotive
5
6require conf/machine/include/imx6sabresd-common.inc
7
8SOC_FAMILY = "mx6:mx6dl"
9
10KERNEL_DEVICETREE = "imx6dl-sabreauto.dtb"
11
12PREFERRED_PROVIDER_u-boot = "u-boot-imx"
13PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
14
15UBOOT_CONFIG ??= "sd"
16UBOOT_CONFIG[sd] = "mx6solosabreauto_config,sdcard"
17UBOOT_CONFIG[eimnor] = "mx6solosabreauto_eimnor_config"
18UBOOT_CONFIG[nand] = "mx6solosabreauto_nand_config,ubifs"
19UBOOT_CONFIG[spinor] = "mx6solosabreauto_spinor_config"
20UBOOT_CONFIG[mfgtool] = "mx6solosabreauto_config"
diff --git a/conf/machine/imx6solosabresd.conf b/conf/machine/imx6solosabresd.conf
new file mode 100644
index 0000000..f670ed3
--- /dev/null
+++ b/conf/machine/imx6solosabresd.conf
@@ -0,0 +1,18 @@
1#@TYPE: Machine
2#@NAME: Freescale i.MX6Solo SABRE Smart Device
3#@SOC: i.MX6S
4#@DESCRIPTION: Machine configuration for Freescale i.MX6Solo SABRE Smart Device
5#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>
6
7require conf/machine/include/imx6sabresd-common.inc
8
9SOC_FAMILY = "mx6:mx6dl"
10
11KERNEL_DEVICETREE = "imx6dl-sabresd.dtb imx6dl-sabresd-ldo.dtb"
12
13PREFERRED_PROVIDER_u-boot = "u-boot-imx"
14PREFERRED_PROVIDER_virtual/bootloader = "u-boot-imx"
15
16UBOOT_CONFIG ??= "sd"
17UBOOT_CONFIG[sd] = "mx6solosabresd_config,sdcard"
18UBOOT_CONFIG[mfgtool] = "mx6solosabresd_config"
diff --git a/conf/machine/include/fsl-default-providers.inc b/conf/machine/include/fsl-default-providers.inc
new file mode 100644
index 0000000..c738d49
--- /dev/null
+++ b/conf/machine/include/fsl-default-providers.inc
@@ -0,0 +1,6 @@
1# Freescale BSP default providers
2
3PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
4PREFERRED_PROVIDER_virtual/kernel ??= "linux-imx"
5PREFERRED_PROVIDER_u-boot ??= "u-boot-fslc"
6PREFERRED_PROVIDER_virtual/bootloader ??= "u-boot-fslc"
diff --git a/conf/machine/include/fsl-default-settings.inc b/conf/machine/include/fsl-default-settings.inc
new file mode 100644
index 0000000..b36e75a
--- /dev/null
+++ b/conf/machine/include/fsl-default-settings.inc
@@ -0,0 +1,3 @@
1# Freescale BSP default settings
2
3IMAGE_CLASSES += "image_types_fsl"
diff --git a/conf/machine/include/fsl-default-versions.inc b/conf/machine/include/fsl-default-versions.inc
new file mode 100644
index 0000000..d2a4e93
--- /dev/null
+++ b/conf/machine/include/fsl-default-versions.inc
@@ -0,0 +1 @@
# Freescale BSP default versions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
new file mode 100644
index 0000000..9ac5e8a
--- /dev/null
+++ b/conf/machine/include/imx-base.inc
@@ -0,0 +1,108 @@
1# Provides the i.MX common settings
2
3include conf/machine/include/fsl-default-settings.inc
4include conf/machine/include/fsl-default-versions.inc
5include conf/machine/include/fsl-default-providers.inc
6
7include conf/machine/include/soc-family.inc
8
9# Disable perf features as 2.6.35.3 fail to build otherwise
10PERF_FEATURES_ENABLE = ""
11
12# Set specific make target and binary suffix
13UBOOT_MAKE_TARGET = "u-boot.imx"
14UBOOT_SUFFIX ?= "imx"
15
16UBOOT_ENTRYPOINT_mx3 = "0x80008000"
17UBOOT_ENTRYPOINT_mx51 = "0x90008000"
18UBOOT_ENTRYPOINT_mx53 = "0x70008000"
19UBOOT_ENTRYPOINT_mx6 = "0x10008000"
20UBOOT_ENTRYPOINT_mx6sl = "0x80008000"
21UBOOT_ENTRYPOINT_vf60 = "0x80008000"
22
23XSERVER_DRIVER = "xf86-video-fbdev"
24XSERVER_DRIVER_mx5 = "xf86-video-imxfb"
25XSERVER_DRIVER_mx6 = "xf86-video-imxfb-vivante"
26XSERVER = "xserver-xorg \
27 xf86-input-evdev \
28 ${XSERVER_DRIVER}"
29
30# FIXME: Use older versions until Vivante GPU is made compatible
31PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.4"
32PREFERRED_VERSION_directfb_mx6 = "1.6.3"
33PREFERRED_VERSION_directfb-examples_mx6 = "1.6.0"
34
35# Ship kernel modules
36MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
37
38# Float-Point setting
39DEFAULTTUNE_mx6 ?= "cortexa9hf-neon"
40
41# Sub-architecture support
42MACHINE_SOCARCH ?= ""
43MACHINE_SOCARCH_mx3 = "${TUNE_PKGARCH}-mx3"
44MACHINE_SOCARCH_mx5 = "${TUNE_PKGARCH}-mx5"
45MACHINE_SOCARCH_mx6 = "${TUNE_PKGARCH}-mx6"
46MACHINE_SOCARCH_vf60 = "${TUNE_PKGARCH}-vf60"
47PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}"
48
49MACHINE_ARCH_FILTER = "virtual/kernel"
50MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
51MACHINE_SOCARCH_FILTER_append_mx5 = " virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl"
52MACHINE_SOCARCH_FILTER_append_mx6 = " virtual/libgles1 virtual/libgles2 virtual/egl virtual/mesa virtual/libgl"
53
54INHERIT += "fsl-dynamic-packagearch"
55
56# Firmware
57MACHINE_FIRMWARE ?= ""
58MACHINE_FIRMWARE_append_mx6q = " firmware-imx-vpu-imx6q"
59MACHINE_FIRMWARE_append_mx6dl = " firmware-imx-vpu-imx6d"
60MACHINE_FIRMWARE_append_mx53 = " firmware-imx-vpu-imx53 firmware-imx-sdma-imx53"
61MACHINE_FIRMWARE_append_mx51 = " firmware-imx-vpu-imx51 firmware-imx-sdma-imx51"
62
63# FIXME: Needs addition of firmware-imx of official BSPs
64#MACHINE_FIRMWARE_append_mx35 = " firmware-imx-sdma-imx35"
65#MACHINE_FIRMWARE_append_mx31 = " firmware-imx-sdma-imx31"
66#MACHINE_FIRMWARE_append_mx27 = " firmware-imx-vpu-imx27"
67#MACHINE_FIRMWARE_append_mx25 = " firmware-imx-sdma-imx25"
68
69MACHINE_EXTRA_RRECOMMENDS += "${MACHINE_FIRMWARE}"
70
71# Extra audio support
72# FIXME: Add support for ALL SoC families
73MACHINE_EXTRA_RRECOMMENDS_append_mx6 = " fsl-alsa-plugins"
74
75# Extra udev rules
76MACHINE_EXTRA_RRECOMMENDS += "udev-extraconf"
77
78# GStreamer 0.10 plugins
79MACHINE_GSTREAMER_PLUGIN ?= "gst-fsl-plugin"
80MACHINE_GSTREAMER_PLUGIN_mx3 ?= ""
81MACHINE_GSTREAMER_PLUGIN_vf60 ?= ""
82
83# GStreamer 1.0 plugins
84MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
85MACHINE_GSTREAMER_1_0_PLUGIN_mx6 ?= "gstreamer1.0-plugins-imx-meta"
86
87# mx5 GPU libraries
88GPU_FLAVOUR = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11-', '', d)}"
89PREFERRED_PROVIDER_virtual/egl_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
90PREFERRED_PROVIDER_virtual/libgles1_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
91PREFERRED_PROVIDER_virtual/libgles2_mx5 ?= "amd-gpu-${GPU_FLAVOUR}bin-mx51"
92
93# mx6 GPU libraries
94PREFERRED_PROVIDER_virtual/egl_mx6 ?= "gpu-viv-bin-mx6q"
95PREFERRED_PROVIDER_virtual/libgl_mx6 ?= "gpu-viv-bin-mx6q"
96PREFERRED_PROVIDER_virtual/libgles1_mx6 ?= "gpu-viv-bin-mx6q"
97PREFERRED_PROVIDER_virtual/libgles2_mx6 ?= "gpu-viv-bin-mx6q"
98
99PREFERRED_PROVIDER_virtual/kernel_mx3 ?= "linux-fslc"
100
101SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
102IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
103
104SERIAL_CONSOLE = "115200 ttymxc0"
105
106KERNEL_IMAGETYPE = "uImage"
107
108MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
diff --git a/conf/machine/include/imx6sabreauto-common.inc b/conf/machine/include/imx6sabreauto-common.inc
new file mode 100644
index 0000000..b4f37b3
--- /dev/null
+++ b/conf/machine/include/imx6sabreauto-common.inc
@@ -0,0 +1,10 @@
1# Provides the i.MX6 SABRE AUTO common settings
2
3require conf/machine/include/imx-base.inc
4require conf/machine/include/tune-cortexa9.inc
5
6SERIAL_CONSOLE = "115200 ttymxc3"
7
8MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
9
10MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/conf/machine/include/imx6sabresd-common.inc b/conf/machine/include/imx6sabresd-common.inc
new file mode 100644
index 0000000..40e3cde
--- /dev/null
+++ b/conf/machine/include/imx6sabresd-common.inc
@@ -0,0 +1,10 @@
1# Provides the i.MX6 SABRE SD common settings
2
3require conf/machine/include/imx-base.inc
4require conf/machine/include/tune-cortexa9.inc
5
6SERIAL_CONSOLE = "115200 ttymxc0"
7
8MACHINE_FIRMWARE_append_mx6 = " linux-firmware-ath6k"
9
10MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/conf/machine/include/mxs-base.inc b/conf/machine/include/mxs-base.inc
new file mode 100644
index 0000000..a0fc0d7
--- /dev/null
+++ b/conf/machine/include/mxs-base.inc
@@ -0,0 +1,43 @@
1# Provides the i.MXS common settings
2
3include conf/machine/include/fsl-default-settings.inc
4include conf/machine/include/fsl-default-versions.inc
5include conf/machine/include/fsl-default-providers.inc
6
7include conf/machine/include/soc-family.inc
8include conf/machine/include/tune-arm926ejs.inc
9
10SOC_FAMILY = "mxs"
11
12PREFERRED_PROVIDER_virtual/kernel_mx23 ?= "linux-fslc"
13
14UBOOT_ENTRYPOINT = "0x40008000"
15UBOOT_MAKE_TARGET = "u-boot.sb"
16UBOOT_SUFFIX = "sb"
17
18# Disable perf features as 2.6.35.3 fail to build otherwise
19PERF_FEATURES_ENABLE_mx28 = ""
20
21XSERVER = "xserver-xorg \
22 xf86-input-evdev \
23 xf86-video-fbdev"
24
25# Gstreamer plugin
26MACHINE_GSTREAMER_PLUGIN ?= ""
27MACHINE_GSTREAMER_PLUGIN_mx28 ?= "gst-fsl-plugin"
28
29# Sub-architecture support
30MACHINE_SOCARCH ?= ""
31MACHINE_SOCARCH_mx23 = "${TUNE_PKGARCH}-mx23"
32MACHINE_SOCARCH_mx28 = "${TUNE_PKGARCH}-mx28"
33PACKAGE_EXTRA_ARCHS_append = " ${MACHINE_SOCARCH}"
34
35MACHINE_ARCH_FILTER = "virtual/kernel"
36MACHINE_SOCARCH_FILTER = "libfslcodec libfslvpuwrap libfslparser gst-fsl-plugins"
37
38INHERIT += "fsl-dynamic-packagearch"
39
40# Ship kernel modules
41MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
42
43SERIAL_CONSOLE = "115200 ttyAMA0"
diff --git a/conf/machine/twr-vf65gs10.conf b/conf/machine/twr-vf65gs10.conf
new file mode 100644
index 0000000..1f19dcb
--- /dev/null
+++ b/conf/machine/twr-vf65gs10.conf
@@ -0,0 +1,21 @@
1#@TYPE: Machine
2#@NAME: Freescale Vybrid TWR-VF65GS10
3#@SOC: vf60
4#@DESCRIPTION: Machine configuration for Freescale Vybrid TWR-VF65GS10
5#@MAINTAINER: Anthony Felice <tony.felice@timesys.com>
6
7include conf/machine/include/imx-base.inc
8include conf/machine/include/tune-cortexa5.inc
9
10SOC_FAMILY = "vf60"
11
12PREFERRED_PROVIDER_virtual/kernel ?= "linux-timesys"
13
14UBOOT_MACHINE = "vf610twr_config"
15
16SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
17IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard"
18
19SERIAL_CONSOLE = "115200 ttyLP1"
20
21MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa touchscreen"
diff --git a/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch b/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch
new file mode 100644
index 0000000..53f0a52
--- /dev/null
+++ b/efl-layer/recipes-efl/efl/efl/0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch
@@ -0,0 +1,55 @@
1From 0775633e35127e903a1a84d823bf2e7d388d4042 Mon Sep 17 00:00:00 2001
2From: Carlos Rafael Giani <dv@pseudoterminal.org>
3Date: Sun, 1 Jun 2014 01:57:53 +0200
4Subject: [PATCH] Add preprocessor definitions for Vivante GLES headers
5
6The Vivante headers require the LINUX preprocessor definition, otherwise
7compile errors occur
8
9Upstream-Status: Pending
10
11Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
12---
13 m4/evas_check_engine.m4 | 4 ++--
14 src/Makefile_Evas.am | 2 ++
15 2 files changed, 4 insertions(+), 2 deletions(-)
16
17diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4
18index 3fd4890..35d1c5f 100644
19--- a/m4/evas_check_engine.m4
20+++ b/m4/evas_check_engine.m4
21@@ -26,9 +26,9 @@ EFL_FIND_X(evas_engine_[]$1,
22 [X11 XCreateColormap Xrender XRenderCreatePicture],
23 [
24 CFLAGS_save="$CFLAGS"
25- CFLAGS="$evas_engine_[]$1[]_cflags $CFLAGS"
26+ CFLAGS="$evas_engine_[]$1[]_cflags $CFLAGS -DLINUX"
27 CPPFLAGS_save="$CPPFLAGS"
28- CPPFLAGS="$evas_engine_[]$1[]_cflags $CPPFLAGS"
29+ CPPFLAGS="$evas_engine_[]$1[]_cflags $CPPFLAGS -DLINUX"
30
31 AC_CHECK_HEADER([GL/gl.h],
32 [have_dep="yes"],
33diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
34index 644391b..6232f78 100644
35--- a/src/Makefile_Evas.am
36+++ b/src/Makefile_Evas.am
37@@ -632,6 +632,7 @@ lib_evas_libevas_la_LIBADD += @evas_engine_gl_common_libs@
38 else
39 noinst_LTLIBRARIES += modules/evas/engines/gl_common/libevas_engine_gl_common.la
40 modules_evas_engines_gl_common_libevas_engine_gl_common_la_SOURCES = $(GL_COMMON_SOURCES)
41+modules_evas_engines_gl_common_libevas_engine_gl_common_la_CFLAGS = -DLINUX
42 modules_evas_engines_gl_common_libevas_engine_gl_common_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
43 -I$(top_srcdir)/src/lib/evas/include \
44 -I$(top_srcdir)/src/lib/evas/cserve2 \
45@@ -736,6 +737,7 @@ else
46 engineglx11pkgdir = $(libdir)/evas/modules/engines/gl_x11/$(MODULE_ARCH)
47 engineglx11pkg_LTLIBRARIES = modules/evas/engines/gl_x11/module.la
48 modules_evas_engines_gl_x11_module_la_SOURCES = $(GL_X11_SOURCES)
49+modules_evas_engines_gl_x11_module_la_CFLAGS = -DLINUX
50 modules_evas_engines_gl_x11_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
51 -I$(top_srcdir)/src/lib/evas/include \
52 -I$(top_srcdir)/src/lib/evas/cserve2 \
53--
541.8.3.2
55
diff --git a/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend b/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend
new file mode 100644
index 0000000..10c99d8
--- /dev/null
+++ b/efl-layer/recipes-efl/efl/efl_1.9.3.bbappend
@@ -0,0 +1,3 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI += "file://0001-Add-preprocessor-definitions-for-Vivante-GLES-header.patch"
diff --git a/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch b/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
new file mode 100644
index 0000000..b0be292
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch
@@ -0,0 +1,23 @@
1Workaround EGL initialization failure due visual mismatch
2
3Error:
4
5Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
6Unable to find an X11 visual which matches EGL config 28
7Could not initialize EGL
8Aborted
9
10Upstream-Status: Inappropriate [workaround]
11
12Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
13
14diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
15--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:08:42.163895341 -0800
16+++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:09:37.207893799 -0800
17@@ -180,5 +180,5 @@
18 }
19
20 qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
21- return (VisualID)0;
22+ return (VisualID)33;
23 }
diff --git a/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
new file mode 100644
index 0000000..20fc15f
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend
@@ -0,0 +1,62 @@
1# Copyright (C) 2013 Eric Bénard - Eukréa Electromatique
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
4
5SRC_URI += "file://Force_egl_visual_ID_33.patch"
6
7HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}"
8
9PACKAGECONFIG_GL_mx5 = "gles2"
10PACKAGECONFIG_append_mx5 = " tslib icu examples"
11
12PACKAGECONFIG_GL_mx6 = "gles2"
13PACKAGECONFIG_append_mx6 = " tslib icu examples"
14QT_CONFIG_FLAGS_append_mx6 = "${@base_contains('DISTRO_FEATURES', 'x11', ' -no-eglfs', ' -eglfs', d)}"
15
16do_configure_prepend_mx5() {
17 sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
18
19 cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
20IMX5_CFLAGS = -D_LINUX=1
21QMAKE_LIBS_EGL += -lEGL
22QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
23QMAKE_LIBS_OPENVG += -lOpenVG -lEGL
24
25QMAKE_CFLAGS_RELEASE += \$\$IMX5_CFLAGS
26QMAKE_CXXFLAGS_RELEASE += \$\$IMX5_CFLAGS
27QMAKE_CFLAGS_DEBUG += \$\$IMX5_CFLAGS
28QMAKE_CXXFLAGS_DEBUG += \$\$IMX5_CFLAGS
29
30load(qt_config)
31
32EOF
33}
34
35do_configure_prepend_mx6() {
36 # adapt qmake.conf to our needs
37 sed -i 's!load(qt_config)!!' ${S}/mkspecs/linux-oe-g++/qmake.conf
38 if test ${HAS_X11} -eq 0; then
39 cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
40EGLFS_PLATFORM_HOOKS_SOURCES = \$\$PWD/qeglfshooks_imx6.cpp
41IMX6_CFLAGS = -DLINUX=1 -DEGL_API_FB=1
42EOF
43 # copy the hook in the mkspecs directory OE is using
44 cp ${S}/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp ${S}/mkspecs/linux-oe-g++/
45 else
46 cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
47IMX6_CFLAGS = -DLINUX=1
48EOF
49 fi
50 cat >> ${S}/mkspecs/linux-oe-g++/qmake.conf <<EOF
51QMAKE_LIBS_EGL += -lEGL
52QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
53QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
54QMAKE_CFLAGS_RELEASE += \$\$IMX6_CFLAGS
55QMAKE_CXXFLAGS_RELEASE += \$\$IMX6_CFLAGS
56QMAKE_CFLAGS_DEBUG += \$\$IMX6_CFLAGS
57QMAKE_CXXFLAGS_DEBUG += \$\$IMX6_CFLAGS
58
59load(qt_config)
60
61EOF
62}
diff --git a/qt5-layer/recipes-qt/qt5/qtmultimedia/add-imx6-support.patch b/qt5-layer/recipes-qt/qt5/qtmultimedia/add-imx6-support.patch
new file mode 100644
index 0000000..b49b0a9
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtmultimedia/add-imx6-support.patch
@@ -0,0 +1,844 @@
1adding zero-copy-QSGVideoNode for imx6
2
3On imx6 there is a platform-specific API to implement
4memory-mapping from gstreamer-buffer to opengl-texture.
5
6This plugin uses this API to avoid CPU-based-memory-copy.
7
8This allows fluid video-playback up to 1080p with very little CPU load.
9Before even 720p used one cpu-core completely and wasn't fluid.
10
11Change-Id: I0c33eb5d475393a65459291ce9290fa0753de4a5
12
13Upstream-Status: Backport [5.3]
14
15Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
16
17diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
18index d947f3b..c107599 100644
19--- a/src/plugins/plugins.pro
20+++ b/src/plugins/plugins.pro
21@@ -6,7 +6,7 @@
22
23 TEMPLATE = subdirs
24
25-SUBDIRS += m3u
26+SUBDIRS += m3u videonode
27
28 android {
29 SUBDIRS += android opensles
30diff --git a/src/plugins/videonode/imx6/imx6.json b/src/plugins/videonode/imx6/imx6.json
31new file mode 100644
32index 0000000..08bb12c
33--- /dev/null
34+++ b/src/plugins/videonode/imx6/imx6.json
35@@ -0,0 +1,3 @@
36+{
37+ "Keys": ["sgvideonodes"]
38+}
39diff --git a/src/plugins/videonode/imx6/imx6.pro b/src/plugins/videonode/imx6/imx6.pro
40new file mode 100644
41index 0000000..a2e6798
42--- /dev/null
43+++ b/src/plugins/videonode/imx6/imx6.pro
44@@ -0,0 +1,21 @@
45+TARGET = imx6vivantevideonode
46+QT += multimedia-private qtmultimediaquicktools-private
47+
48+PLUGIN_TYPE=video/videonode
49+PLUGIN_CLASS_NAME = QSGVivanteVideoNodeFactory
50+load(qt_plugin)
51+
52+HEADERS += \
53+ qsgvivantevideonode.h \
54+ qsgvivantevideomaterialshader.h \
55+ qsgvivantevideomaterial.h \
56+ qsgvivantevideonodefactory.h
57+
58+SOURCES += \
59+ qsgvivantevideonode.cpp \
60+ qsgvivantevideomaterialshader.cpp \
61+ qsgvivantevideomaterial.cpp \
62+ qsgvivantevideonodefactory.cpp
63+
64+OTHER_FILES += \
65+ imx6.json
66diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
67new file mode 100644
68index 0000000..0ed4e1a
69--- /dev/null
70+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.cpp
71@@ -0,0 +1,196 @@
72+/****************************************************************************
73+**
74+** Copyright (C) 2014 Pelagicore AG
75+** Contact: http://www.qt-project.org/legal
76+**
77+** This file is part of the Qt Toolkit.
78+**
79+** $QT_BEGIN_LICENSE:LGPL$
80+** Commercial License Usage
81+** Licensees holding valid commercial Qt licenses may use this file in
82+** accordance with the commercial license agreement provided with the
83+** Software or, alternatively, in accordance with the terms contained in
84+** a written agreement between you and Digia. For licensing terms and
85+** conditions see http://qt.digia.com/licensing. For further information
86+** use the contact form at http://qt.digia.com/contact-us.
87+**
88+** GNU Lesser General Public License Usage
89+** Alternatively, this file may be used under the terms of the GNU Lesser
90+** General Public License version 2.1 as published by the Free Software
91+** Foundation and appearing in the file LICENSE.LGPL included in the
92+** packaging of this file. Please review the following information to
93+** ensure the GNU Lesser General Public License version 2.1 requirements
94+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
95+**
96+** In addition, as a special exception, Digia gives you certain additional
97+** rights. These rights are described in the Digia Qt LGPL Exception
98+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
99+**
100+** GNU General Public License Usage
101+** Alternatively, this file may be used under the terms of the GNU
102+** General Public License version 3.0 as published by the Free Software
103+** Foundation and appearing in the file LICENSE.GPL included in the
104+** packaging of this file. Please review the following information to
105+** ensure the GNU General Public License version 3.0 requirements will be
106+** met: http://www.gnu.org/copyleft/gpl.html.
107+**
108+**
109+** $QT_END_LICENSE$
110+**
111+****************************************************************************/
112+
113+#include <GLES2/gl2.h>
114+#include <GLES2/gl2ext.h>
115+
116+#include "qsgvivantevideomaterial.h"
117+#include "qsgvivantevideomaterialshader.h"
118+#include "qsgvivantevideonode.h"
119+
120+#include <QOpenGLContext>
121+#include <QThread>
122+
123+#include <unistd.h>
124+
125+
126+//#define QT_VIVANTE_VIDEO_DEBUG
127+
128+QSGVivanteVideoMaterial::QSGVivanteVideoMaterial() :
129+ mOpacity(1.0),
130+ mCurrentTexture(0)
131+{
132+#ifdef QT_VIVANTE_VIDEO_DEBUG
133+ qDebug() << Q_FUNC_INFO;
134+#endif
135+
136+ setFlag(Blending, false);
137+}
138+
139+QSGVivanteVideoMaterial::~QSGVivanteVideoMaterial()
140+{
141+ for (GLuint id : mBitsToTextureMap.values()) {
142+#ifdef QT_VIVANTE_VIDEO_DEBUG
143+ qDebug() << "delete texture: " << id;
144+#endif
145+ glDeleteTextures(1, &id);
146+ }
147+}
148+
149+QSGMaterialType *QSGVivanteVideoMaterial::type() const {
150+ static QSGMaterialType theType;
151+ return &theType;
152+}
153+
154+QSGMaterialShader *QSGVivanteVideoMaterial::createShader() const {
155+ return new QSGVivanteVideoMaterialShader;
156+}
157+
158+int QSGVivanteVideoMaterial::compare(const QSGMaterial *other) const {
159+ if (this->type() == other->type()) {
160+ const QSGVivanteVideoMaterial *m = static_cast<const QSGVivanteVideoMaterial *>(other);
161+ if (this->mBitsToTextureMap == m->mBitsToTextureMap)
162+ return 0;
163+ else
164+ return 1;
165+ }
166+ return 1;
167+}
168+
169+void QSGVivanteVideoMaterial::updateBlending() {
170+ setFlag(Blending, qFuzzyCompare(mOpacity, qreal(1.0)) ? false : true);
171+}
172+
173+void QSGVivanteVideoMaterial::setCurrentFrame(const QVideoFrame &frame) {
174+ QMutexLocker lock(&mFrameMutex);
175+ mNextFrame = frame;
176+
177+#ifdef QT_VIVANTE_VIDEO_DEBUG
178+ qDebug() << Q_FUNC_INFO << " new frame: " << frame;
179+#endif
180+}
181+
182+void QSGVivanteVideoMaterial::bind()
183+{
184+ QOpenGLContext *glcontext = QOpenGLContext::currentContext();
185+ if (glcontext == 0) {
186+ qWarning() << Q_FUNC_INFO << "no QOpenGLContext::currentContext() => return";
187+ return;
188+ }
189+
190+ QMutexLocker lock(&mFrameMutex);
191+ if (mNextFrame.isValid()) {
192+ mCurrentFrame.unmap();
193+
194+ mCurrentFrame = mNextFrame;
195+ mCurrentTexture = vivanteMapping(mNextFrame);
196+ }
197+ else
198+ glBindTexture(GL_TEXTURE_2D, mCurrentTexture);
199+}
200+
201+GLuint QSGVivanteVideoMaterial::vivanteMapping(QVideoFrame vF)
202+{
203+ QOpenGLContext *glcontext = QOpenGLContext::currentContext();
204+ if (glcontext == 0) {
205+ qWarning() << Q_FUNC_INFO << "no QOpenGLContext::currentContext() => return 0";
206+ return 0;
207+ }
208+
209+ static PFNGLTEXDIRECTVIVMAPPROC glTexDirectVIVMap_LOCAL = 0;
210+ static PFNGLTEXDIRECTINVALIDATEVIVPROC glTexDirectInvalidateVIV_LOCAL = 0;
211+
212+ if (glTexDirectVIVMap_LOCAL == 0 || glTexDirectInvalidateVIV_LOCAL == 0) {
213+ glTexDirectVIVMap_LOCAL = reinterpret_cast<PFNGLTEXDIRECTVIVMAPPROC>(glcontext->getProcAddress("glTexDirectVIVMap"));
214+ glTexDirectInvalidateVIV_LOCAL = reinterpret_cast<PFNGLTEXDIRECTINVALIDATEVIVPROC>(glcontext->getProcAddress("glTexDirectInvalidateVIV"));
215+ }
216+ if (glTexDirectVIVMap_LOCAL == 0 || glTexDirectInvalidateVIV_LOCAL == 0) {
217+ qWarning() << Q_FUNC_INFO << "couldn't find \"glTexDirectVIVMap\" and/or \"glTexDirectInvalidateVIV\" => do nothing and return";
218+ return 0;
219+ }
220+
221+
222+ if (vF.map(QAbstractVideoBuffer::ReadOnly)) {
223+
224+ if (!mBitsToTextureMap.contains(vF.bits())) {
225+ GLuint tmpTexId;
226+ glGenTextures(1, &tmpTexId);
227+ mBitsToTextureMap.insert(vF.bits(), tmpTexId);
228+
229+ const uchar *constBits = vF.bits();
230+ void *bits = (void*)constBits;
231+
232+#ifdef QT_VIVANTE_VIDEO_DEBUG
233+ qDebug() << Q_FUNC_INFO << "new texture, texId: " << tmpTexId << "; constBits: " << constBits;
234+#endif
235+
236+ GLuint physical = ~0U;
237+
238+ glBindTexture(GL_TEXTURE_2D, tmpTexId);
239+ glTexDirectVIVMap_LOCAL(GL_TEXTURE_2D,
240+ vF.width(), vF.height(),
241+ QSGVivanteVideoNode::getVideoFormat2GLFormatMap().value(vF.pixelFormat()),
242+ &bits, &physical);
243+
244+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
245+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
246+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
247+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
248+ glTexDirectInvalidateVIV_LOCAL(GL_TEXTURE_2D);
249+
250+ return tmpTexId;
251+ }
252+ else {
253+ glBindTexture(GL_TEXTURE_2D, mBitsToTextureMap.value(vF.bits()));
254+ glTexDirectInvalidateVIV_LOCAL(GL_TEXTURE_2D);
255+ return mBitsToTextureMap.value(vF.bits());
256+ }
257+ }
258+ else {
259+#ifdef QT_VIVANTE_VIDEO_DEBUG
260+ qWarning() << " couldn't map the QVideoFrame vF: " << vF;
261+#endif
262+ return 0;
263+ }
264+
265+ Q_ASSERT(false); // should never reach this line!;
266+ return 0;
267+}
268diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterial.h b/src/plugins/videonode/imx6/qsgvivantevideomaterial.h
269new file mode 100644
270index 0000000..9d792b7
271--- /dev/null
272+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterial.h
273@@ -0,0 +1,80 @@
274+/****************************************************************************
275+**
276+** Copyright (C) 2014 Pelagicore AG
277+** Contact: http://www.qt-project.org/legal
278+**
279+** This file is part of the Qt Toolkit.
280+**
281+** $QT_BEGIN_LICENSE:LGPL$
282+** Commercial License Usage
283+** Licensees holding valid commercial Qt licenses may use this file in
284+** accordance with the commercial license agreement provided with the
285+** Software or, alternatively, in accordance with the terms contained in
286+** a written agreement between you and Digia. For licensing terms and
287+** conditions see http://qt.digia.com/licensing. For further information
288+** use the contact form at http://qt.digia.com/contact-us.
289+**
290+** GNU Lesser General Public License Usage
291+** Alternatively, this file may be used under the terms of the GNU Lesser
292+** General Public License version 2.1 as published by the Free Software
293+** Foundation and appearing in the file LICENSE.LGPL included in the
294+** packaging of this file. Please review the following information to
295+** ensure the GNU Lesser General Public License version 2.1 requirements
296+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
297+**
298+** In addition, as a special exception, Digia gives you certain additional
299+** rights. These rights are described in the Digia Qt LGPL Exception
300+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
301+**
302+** GNU General Public License Usage
303+** Alternatively, this file may be used under the terms of the GNU
304+** General Public License version 3.0 as published by the Free Software
305+** Foundation and appearing in the file LICENSE.GPL included in the
306+** packaging of this file. Please review the following information to
307+** ensure the GNU General Public License version 3.0 requirements will be
308+** met: http://www.gnu.org/copyleft/gpl.html.
309+**
310+**
311+** $QT_END_LICENSE$
312+**
313+****************************************************************************/
314+
315+#ifndef QSGVIDEOMATERIAL_VIVMAP_H
316+#define QSGVIDEOMATERIAL_VIVMAP_H
317+
318+#include <QList>
319+#include <QPair>
320+
321+#include <QSGMaterial>
322+#include <QVideoFrame>
323+#include <QMutex>
324+
325+
326+class QSGVivanteVideoMaterial : public QSGMaterial
327+{
328+public:
329+ QSGVivanteVideoMaterial();
330+ ~QSGVivanteVideoMaterial();
331+
332+ virtual QSGMaterialType *type() const;
333+ virtual QSGMaterialShader *createShader() const;
334+ virtual int compare(const QSGMaterial *other) const;
335+ void updateBlending();
336+ void setCurrentFrame(const QVideoFrame &frame);
337+
338+ void bind();
339+ GLuint vivanteMapping(QVideoFrame texIdVideoFramePair);
340+
341+ void setOpacity(float o) { mOpacity = o; }
342+
343+private:
344+ qreal mOpacity;
345+
346+ QMap<const uchar*, GLuint> mBitsToTextureMap;
347+ QVideoFrame mCurrentFrame, mNextFrame;
348+ GLuint mCurrentTexture;
349+
350+ QMutex mFrameMutex;
351+};
352+
353+#endif // QSGVIDEOMATERIAL_VIVMAP_H
354diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp
355new file mode 100644
356index 0000000..7b5e5e5
357--- /dev/null
358+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.cpp
359@@ -0,0 +1,104 @@
360+/****************************************************************************
361+**
362+** Copyright (C) 2014 Pelagicore AG
363+** Contact: http://www.qt-project.org/legal
364+**
365+** This file is part of the Qt Toolkit.
366+**
367+** $QT_BEGIN_LICENSE:LGPL$
368+** Commercial License Usage
369+** Licensees holding valid commercial Qt licenses may use this file in
370+** accordance with the commercial license agreement provided with the
371+** Software or, alternatively, in accordance with the terms contained in
372+** a written agreement between you and Digia. For licensing terms and
373+** conditions see http://qt.digia.com/licensing. For further information
374+** use the contact form at http://qt.digia.com/contact-us.
375+**
376+** GNU Lesser General Public License Usage
377+** Alternatively, this file may be used under the terms of the GNU Lesser
378+** General Public License version 2.1 as published by the Free Software
379+** Foundation and appearing in the file LICENSE.LGPL included in the
380+** packaging of this file. Please review the following information to
381+** ensure the GNU Lesser General Public License version 2.1 requirements
382+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
383+**
384+** In addition, as a special exception, Digia gives you certain additional
385+** rights. These rights are described in the Digia Qt LGPL Exception
386+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
387+**
388+** GNU General Public License Usage
389+** Alternatively, this file may be used under the terms of the GNU
390+** General Public License version 3.0 as published by the Free Software
391+** Foundation and appearing in the file LICENSE.GPL included in the
392+** packaging of this file. Please review the following information to
393+** ensure the GNU General Public License version 3.0 requirements will be
394+** met: http://www.gnu.org/copyleft/gpl.html.
395+**
396+**
397+** $QT_END_LICENSE$
398+**
399+****************************************************************************/
400+
401+#include "qsgvivantevideomaterialshader.h"
402+#include "qsgvivantevideonode.h"
403+#include "qsgvivantevideomaterial.h"
404+
405+void QSGVivanteVideoMaterialShader::updateState(const RenderState &state,
406+ QSGMaterial *newMaterial,
407+ QSGMaterial *oldMaterial)
408+{
409+ Q_UNUSED(oldMaterial);
410+
411+ QSGVivanteVideoMaterial *mat = static_cast<QSGVivanteVideoMaterial *>(newMaterial);
412+ program()->setUniformValue(mIdTexture, 0);
413+ mat->bind();
414+ if (state.isOpacityDirty()) {
415+ mat->setOpacity(state.opacity());
416+ program()->setUniformValue(mIdOpacity, state.opacity());
417+ }
418+ if (state.isMatrixDirty())
419+ program()->setUniformValue(mIdMatrix, state.combinedMatrix());
420+}
421+
422+const char * const *QSGVivanteVideoMaterialShader::attributeNames() const {
423+ static const char *names[] = {
424+ "qt_VertexPosition",
425+ "qt_VertexTexCoord",
426+ 0
427+ };
428+ return names;
429+}
430+
431+const char *QSGVivanteVideoMaterialShader::vertexShader() const {
432+ static const char *shader =
433+ "uniform highp mat4 qt_Matrix; \n"
434+ "attribute highp vec4 qt_VertexPosition; \n"
435+ "attribute highp vec2 qt_VertexTexCoord; \n"
436+ "varying highp vec2 qt_TexCoord; \n"
437+ "void main() { \n"
438+ " qt_TexCoord = qt_VertexTexCoord; \n"
439+ " gl_Position = qt_Matrix * qt_VertexPosition; \n"
440+ "}";
441+ return shader;
442+}
443+
444+const char *QSGVivanteVideoMaterialShader::fragmentShader() const {
445+ static const char *shader =
446+ "uniform sampler2D texture;"
447+ "uniform lowp float opacity;"
448+ ""
449+ "varying highp vec2 qt_TexCoord;"
450+ ""
451+ "void main()"
452+ "{"
453+ " gl_FragColor = texture2D( texture, qt_TexCoord ) * opacity;\n"
454+ "}";
455+ return shader;
456+}
457+
458+
459+void QSGVivanteVideoMaterialShader::initialize() {
460+ mIdMatrix = program()->uniformLocation("qt_Matrix");
461+ mIdTexture = program()->uniformLocation("texture");
462+ mIdOpacity = program()->uniformLocation("opacity");
463+}
464diff --git a/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h
465new file mode 100644
466index 0000000..570be25
467--- /dev/null
468+++ b/src/plugins/videonode/imx6/qsgvivantevideomaterialshader.h
469@@ -0,0 +1,64 @@
470+/****************************************************************************
471+**
472+** Copyright (C) 2014 Pelagicore AG
473+** Contact: http://www.qt-project.org/legal
474+**
475+** This file is part of the Qt Toolkit.
476+**
477+** $QT_BEGIN_LICENSE:LGPL$
478+** Commercial License Usage
479+** Licensees holding valid commercial Qt licenses may use this file in
480+** accordance with the commercial license agreement provided with the
481+** Software or, alternatively, in accordance with the terms contained in
482+** a written agreement between you and Digia. For licensing terms and
483+** conditions see http://qt.digia.com/licensing. For further information
484+** use the contact form at http://qt.digia.com/contact-us.
485+**
486+** GNU Lesser General Public License Usage
487+** Alternatively, this file may be used under the terms of the GNU Lesser
488+** General Public License version 2.1 as published by the Free Software
489+** Foundation and appearing in the file LICENSE.LGPL included in the
490+** packaging of this file. Please review the following information to
491+** ensure the GNU Lesser General Public License version 2.1 requirements
492+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
493+**
494+** In addition, as a special exception, Digia gives you certain additional
495+** rights. These rights are described in the Digia Qt LGPL Exception
496+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
497+**
498+** GNU General Public License Usage
499+** Alternatively, this file may be used under the terms of the GNU
500+** General Public License version 3.0 as published by the Free Software
501+** Foundation and appearing in the file LICENSE.GPL included in the
502+** packaging of this file. Please review the following information to
503+** ensure the GNU General Public License version 3.0 requirements will be
504+** met: http://www.gnu.org/copyleft/gpl.html.
505+**
506+**
507+** $QT_END_LICENSE$
508+**
509+****************************************************************************/
510+
511+#ifndef QSGVIDEOMATERIALSHADER_VIVANTE_H
512+#define QSGVIDEOMATERIALSHADER_VIVANTE_H
513+
514+#include <QSGMaterial>
515+
516+class QSGVivanteVideoMaterialShader : public QSGMaterialShader
517+{
518+public:
519+ void updateState(const RenderState &state, QSGMaterial *newMaterial, QSGMaterial *oldMaterial);
520+ virtual char const *const *attributeNames() const;
521+
522+protected:
523+ virtual const char *vertexShader() const;
524+ virtual const char *fragmentShader() const;
525+ virtual void initialize();
526+
527+private:
528+ int mIdMatrix;
529+ int mIdTexture;
530+ int mIdOpacity;
531+};
532+
533+#endif // QSGVIDEOMATERIALSHADER_VIVANTE_H
534diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.cpp b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
535new file mode 100644
536index 0000000..d5f1e61
537--- /dev/null
538+++ b/src/plugins/videonode/imx6/qsgvivantevideonode.cpp
539@@ -0,0 +1,90 @@
540+/****************************************************************************
541+**
542+** Copyright (C) 2014 Pelagicore AG
543+** Contact: http://www.qt-project.org/legal
544+**
545+** This file is part of the Qt Toolkit.
546+**
547+** $QT_BEGIN_LICENSE:LGPL$
548+** Commercial License Usage
549+** Licensees holding valid commercial Qt licenses may use this file in
550+** accordance with the commercial license agreement provided with the
551+** Software or, alternatively, in accordance with the terms contained in
552+** a written agreement between you and Digia. For licensing terms and
553+** conditions see http://qt.digia.com/licensing. For further information
554+** use the contact form at http://qt.digia.com/contact-us.
555+**
556+** GNU Lesser General Public License Usage
557+** Alternatively, this file may be used under the terms of the GNU Lesser
558+** General Public License version 2.1 as published by the Free Software
559+** Foundation and appearing in the file LICENSE.LGPL included in the
560+** packaging of this file. Please review the following information to
561+** ensure the GNU Lesser General Public License version 2.1 requirements
562+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
563+**
564+** In addition, as a special exception, Digia gives you certain additional
565+** rights. These rights are described in the Digia Qt LGPL Exception
566+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
567+**
568+** GNU General Public License Usage
569+** Alternatively, this file may be used under the terms of the GNU
570+** General Public License version 3.0 as published by the Free Software
571+** Foundation and appearing in the file LICENSE.GPL included in the
572+** packaging of this file. Please review the following information to
573+** ensure the GNU General Public License version 3.0 requirements will be
574+** met: http://www.gnu.org/copyleft/gpl.html.
575+**
576+**
577+** $QT_END_LICENSE$
578+**
579+****************************************************************************/
580+
581+#include <GLES2/gl2.h>
582+#include <GLES2/gl2ext.h>
583+
584+#include "qsgvivantevideonode.h"
585+#include "qsgvivantevideomaterialshader.h"
586+#include "qsgvivantevideomaterial.h"
587+
588+QMap<QVideoFrame::PixelFormat, GLenum> QSGVivanteVideoNode::static_VideoFormat2GLFormatMap = QMap<QVideoFrame::PixelFormat, GLenum>();
589+
590+QSGVivanteVideoNode::QSGVivanteVideoNode(const QVideoSurfaceFormat &format) :
591+ mFormat(format)
592+{
593+ setFlag(QSGNode::OwnsMaterial, true);
594+ mMaterial = new QSGVivanteVideoMaterial();
595+ setMaterial(mMaterial);
596+}
597+
598+QSGVivanteVideoNode::~QSGVivanteVideoNode()
599+{
600+}
601+
602+void QSGVivanteVideoNode::setCurrentFrame(const QVideoFrame &frame)
603+{
604+ mMaterial->setCurrentFrame(frame);
605+ markDirty(DirtyMaterial);
606+}
607+
608+const QMap<QVideoFrame::PixelFormat, GLenum>& QSGVivanteVideoNode::getVideoFormat2GLFormatMap()
609+{
610+ if (static_VideoFormat2GLFormatMap.isEmpty()) {
611+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YV12, GL_VIV_YV12);
612+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV12, GL_VIV_NV12);
613+
614+
615+ // The following formats should work but are untested!
616+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_NV21, GL_VIV_NV21);
617+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_UYVY, GL_VIV_UYVY);
618+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_YUYV, GL_VIV_YUY2);
619+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB32, GL_RGBA);
620+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB24, GL_RGB);
621+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_RGB565, GL_RGB565);
622+ static_VideoFormat2GLFormatMap.insert(QVideoFrame::Format_BGRA32, GL_BGRA_EXT);
623+ }
624+
625+ return static_VideoFormat2GLFormatMap;
626+}
627+
628+
629+
630diff --git a/src/plugins/videonode/imx6/qsgvivantevideonode.h b/src/plugins/videonode/imx6/qsgvivantevideonode.h
631new file mode 100644
632index 0000000..ae2120a
633--- /dev/null
634+++ b/src/plugins/videonode/imx6/qsgvivantevideonode.h
635@@ -0,0 +1,67 @@
636+/****************************************************************************
637+**
638+** Copyright (C) 2014 Pelagicore AG
639+** Contact: http://www.qt-project.org/legal
640+**
641+** This file is part of the Qt Toolkit.
642+**
643+** $QT_BEGIN_LICENSE:LGPL$
644+** Commercial License Usage
645+** Licensees holding valid commercial Qt licenses may use this file in
646+** accordance with the commercial license agreement provided with the
647+** Software or, alternatively, in accordance with the terms contained in
648+** a written agreement between you and Digia. For licensing terms and
649+** conditions see http://qt.digia.com/licensing. For further information
650+** use the contact form at http://qt.digia.com/contact-us.
651+**
652+** GNU Lesser General Public License Usage
653+** Alternatively, this file may be used under the terms of the GNU Lesser
654+** General Public License version 2.1 as published by the Free Software
655+** Foundation and appearing in the file LICENSE.LGPL included in the
656+** packaging of this file. Please review the following information to
657+** ensure the GNU Lesser General Public License version 2.1 requirements
658+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
659+**
660+** In addition, as a special exception, Digia gives you certain additional
661+** rights. These rights are described in the Digia Qt LGPL Exception
662+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
663+**
664+** GNU General Public License Usage
665+** Alternatively, this file may be used under the terms of the GNU
666+** General Public License version 3.0 as published by the Free Software
667+** Foundation and appearing in the file LICENSE.GPL included in the
668+** packaging of this file. Please review the following information to
669+** ensure the GNU General Public License version 3.0 requirements will be
670+** met: http://www.gnu.org/copyleft/gpl.html.
671+**
672+**
673+** $QT_END_LICENSE$
674+**
675+****************************************************************************/
676+
677+#ifndef QSGVIDEONODE_VIVANTE_H
678+#define QSGVIDEONODE_VIVANTE_H
679+
680+#include <private/qsgvideonode_p.h>
681+#include <QVideoSurfaceFormat>
682+
683+class QSGVivanteVideoMaterial;
684+class QSGVivanteVideoNode : public QSGVideoNode
685+{
686+public:
687+ QSGVivanteVideoNode(const QVideoSurfaceFormat &format);
688+ ~QSGVivanteVideoNode();
689+
690+ virtual QVideoFrame::PixelFormat pixelFormat() const { return mFormat.pixelFormat(); }
691+ void setCurrentFrame(const QVideoFrame &frame);
692+
693+ static const QMap<QVideoFrame::PixelFormat, GLenum>& getVideoFormat2GLFormatMap();
694+
695+private:
696+ QVideoSurfaceFormat mFormat;
697+ QSGVivanteVideoMaterial *mMaterial;
698+
699+ static QMap<QVideoFrame::PixelFormat, GLenum> static_VideoFormat2GLFormatMap;
700+};
701+
702+#endif // QSGVIDEONODE_VIVANTE_H
703diff --git a/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp
704new file mode 100644
705index 0000000..e0711e1
706--- /dev/null
707+++ b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.cpp
708@@ -0,0 +1,60 @@
709+/****************************************************************************
710+**
711+** Copyright (C) 2014 Pelagicore AG
712+** Contact: http://www.qt-project.org/legal
713+**
714+** This file is part of the Qt Toolkit.
715+**
716+** $QT_BEGIN_LICENSE:LGPL$
717+** Commercial License Usage
718+** Licensees holding valid commercial Qt licenses may use this file in
719+** accordance with the commercial license agreement provided with the
720+** Software or, alternatively, in accordance with the terms contained in
721+** a written agreement between you and Digia. For licensing terms and
722+** conditions see http://qt.digia.com/licensing. For further information
723+** use the contact form at http://qt.digia.com/contact-us.
724+**
725+** GNU Lesser General Public License Usage
726+** Alternatively, this file may be used under the terms of the GNU Lesser
727+** General Public License version 2.1 as published by the Free Software
728+** Foundation and appearing in the file LICENSE.LGPL included in the
729+** packaging of this file. Please review the following information to
730+** ensure the GNU Lesser General Public License version 2.1 requirements
731+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
732+**
733+** In addition, as a special exception, Digia gives you certain additional
734+** rights. These rights are described in the Digia Qt LGPL Exception
735+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
736+**
737+** GNU General Public License Usage
738+** Alternatively, this file may be used under the terms of the GNU
739+** General Public License version 3.0 as published by the Free Software
740+** Foundation and appearing in the file LICENSE.GPL included in the
741+** packaging of this file. Please review the following information to
742+** ensure the GNU General Public License version 3.0 requirements will be
743+** met: http://www.gnu.org/copyleft/gpl.html.
744+**
745+**
746+** $QT_END_LICENSE$
747+**
748+****************************************************************************/
749+
750+#include "qsgvivantevideonodefactory.h"
751+#include "qsgvivantevideonode.h"
752+
753+QList<QVideoFrame::PixelFormat> QSGVivanteVideoNodeFactory::supportedPixelFormats(
754+ QAbstractVideoBuffer::HandleType handleType) const
755+{
756+ if (handleType == QAbstractVideoBuffer::NoHandle)
757+ return QSGVivanteVideoNode::getVideoFormat2GLFormatMap().keys();
758+ else
759+ return QList<QVideoFrame::PixelFormat>();
760+}
761+
762+QSGVideoNode *QSGVivanteVideoNodeFactory::createNode(const QVideoSurfaceFormat &format)
763+{
764+ if (supportedPixelFormats(format.handleType()).contains(format.pixelFormat())) {
765+ return new QSGVivanteVideoNode(format);
766+ }
767+ return 0;
768+}
769diff --git a/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h
770new file mode 100644
771index 0000000..6fda61b
772--- /dev/null
773+++ b/src/plugins/videonode/imx6/qsgvivantevideonodefactory.h
774@@ -0,0 +1,58 @@
775+/****************************************************************************
776+**
777+** Copyright (C) 2014 Pelagicore AG
778+** Contact: http://www.qt-project.org/legal
779+**
780+** This file is part of the Qt Toolkit.
781+**
782+** $QT_BEGIN_LICENSE:LGPL$
783+** Commercial License Usage
784+** Licensees holding valid commercial Qt licenses may use this file in
785+** accordance with the commercial license agreement provided with the
786+** Software or, alternatively, in accordance with the terms contained in
787+** a written agreement between you and Digia. For licensing terms and
788+** conditions see http://qt.digia.com/licensing. For further information
789+** use the contact form at http://qt.digia.com/contact-us.
790+**
791+** GNU Lesser General Public License Usage
792+** Alternatively, this file may be used under the terms of the GNU Lesser
793+** General Public License version 2.1 as published by the Free Software
794+** Foundation and appearing in the file LICENSE.LGPL included in the
795+** packaging of this file. Please review the following information to
796+** ensure the GNU Lesser General Public License version 2.1 requirements
797+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
798+**
799+** In addition, as a special exception, Digia gives you certain additional
800+** rights. These rights are described in the Digia Qt LGPL Exception
801+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
802+**
803+** GNU General Public License Usage
804+** Alternatively, this file may be used under the terms of the GNU
805+** General Public License version 3.0 as published by the Free Software
806+** Foundation and appearing in the file LICENSE.GPL included in the
807+** packaging of this file. Please review the following information to
808+** ensure the GNU General Public License version 3.0 requirements will be
809+** met: http://www.gnu.org/copyleft/gpl.html.
810+**
811+**
812+** $QT_END_LICENSE$
813+**
814+****************************************************************************/
815+
816+#ifndef QSGVIDEONODEFACTORY_VIVANTE_H
817+#define QSGVIDEONODEFACTORY_VIVANTE_H
818+
819+#include <QObject>
820+#include <private/qsgvideonode_p.h>
821+
822+class QSGVivanteVideoNodeFactory : public QObject, public QSGVideoNodeFactoryInterface
823+{
824+public:
825+ Q_OBJECT
826+ Q_PLUGIN_METADATA(IID QSGVideoNodeFactoryInterface_iid FILE "imx6.json")
827+ Q_INTERFACES(QSGVideoNodeFactoryInterface)
828+
829+ QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType handleType) const;
830+ QSGVideoNode *createNode(const QVideoSurfaceFormat &format);
831+};
832+#endif // QSGVIDEONODEFACTORY_VIVANTE_H
833diff --git a/src/plugins/videonode/videonode.pro b/src/plugins/videonode/videonode.pro
834new file mode 100644
835index 0000000..ecc1c0c
836--- /dev/null
837+++ b/src/plugins/videonode/videonode.pro
838@@ -0,0 +1,3 @@
839+TEMPLATE = subdirs
840+
841+SUBDIRS += imx6
842--
8432.0.0.rc2
844
diff --git a/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend b/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
new file mode 100644
index 0000000..873862b
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtmultimedia_%.bbappend
@@ -0,0 +1,5 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI_append_mx6 += " file://add-imx6-support.patch"
4
5PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch b/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
new file mode 100644
index 0000000..80e55c7
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtwebkit/0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
@@ -0,0 +1,42 @@
1From 66dab98c3f42eb70a4c6761a8694e374b8578e99 Mon Sep 17 00:00:00 2001
2From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
3Date: Thu, 8 May 2014 09:27:04 -0700
4Subject: [PATCH] Fix to match the uniform precision qualifiers in vertex and
5 fragment shaders
6
7When the vertex and fragment shaders are linked together, then they will
8share a single global uniform name space. Hence, types and precisions of
9uniforms with the same name must match across all shaders that are linked
10into a single executable.
11
12As per GLSL_ES_Specification_3.00.3.pdf
13Page 124 12.3 Numeric Precision
14The fragment language has no default precision qualifier for floating point types.
15Hence for float, floating point vector and matrix variable declarations, either
16the declaration must include a precision qualifier or the default float
17precision must have been previously declared.
18
19Upstream-Status: Submitted [https://bugs.webkit.org/show_bug.cgi?id=124653#c9]
20
21Change-Id: I4eb3363b3bca8bc3c839212ec7c966201a3e65e2
22Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
23---
24 Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp | 2 +-
25 1 file changed, 1 insertion(+), 1 deletion(-)
26
27diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
28index f4b9a7e..7e991bf 100644
29--- a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
30+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderProgram.cpp
31@@ -208,7 +208,7 @@ static const char* fragmentTemplate =
32 ANTIALIASING_TEX_COORD_DIRECTIVE
33 BLUR_CONSTANTS
34 STRINGIFY(
35- precision mediump float;
36+ precision highp float;
37 uniform SamplerType s_sampler;
38 uniform sampler2D s_contentTexture;
39 uniform float u_opacity;
40--
411.9.1
42
diff --git a/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend b/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
new file mode 100644
index 0000000..5d961e6
--- /dev/null
+++ b/qt5-layer/recipes-qt/qt5/qtwebkit_%.bbappend
@@ -0,0 +1,4 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI += "file://0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch"
4
diff --git a/recipes-bsp/alsa-state/alsa-state.bbappend b/recipes-bsp/alsa-state/alsa-state.bbappend
new file mode 100644
index 0000000..6bc0246
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -0,0 +1,7 @@
1# Append path for freescale layer to include alsa-state asound.conf
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
3
4PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
5PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
6PACKAGE_ARCH_mxs = "${MACHINE_ARCH}"
7
diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf
new file mode 100755
index 0000000..0cbe59b
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.conf
@@ -0,0 +1,275 @@
1defaults.pcm.rate_converter "linear"
2
3pcm.dmix_48000{
4type dmix
5ipc_key 5678293
6ipc_key_add_uid yes
7slave{
8pcm "hw:0,0"
9period_time 0
10period_size 2048
11buffer_size 24576
12format S16_LE
13rate 48000
14}
15}
16
17pcm.dmix_44100{
18type dmix
19ipc_key 5678293
20ipc_key_add_uid yes
21slave{
22pcm "hw:0,0"
23period_time 0
24period_size 2048
25buffer_size 24576
26format S16_LE
27rate 44100
28}
29}
30
31pcm.dmix_32000{
32type dmix
33ipc_key 5678293
34ipc_key_add_uid yes
35slave{
36pcm "hw:0,0"
37period_time 0
38period_size 2048
39buffer_size 24576
40format S16_LE
41rate 32000
42}
43}
44
45pcm.dmix_24000{
46type dmix
47ipc_key 5678293
48ipc_key_add_uid yes
49slave{
50pcm "hw:0,0"
51period_time 0
52period_size 2048
53buffer_size 24576
54format S16_LE
55rate 24000
56}
57}
58
59pcm.dmix_22050{
60type dmix
61ipc_key 5678293
62ipc_key_add_uid yes
63slave{
64pcm "hw:0,0"
65period_time 0
66period_size 2048
67buffer_size 24576
68format S16_LE
69rate 22050
70}
71}
72
73pcm.dmix_16000{
74type dmix
75ipc_key 5678293
76ipc_key_add_uid yes
77slave{
78pcm "hw:0,0"
79period_time 0
80period_size 2048
81buffer_size 24576
82format S16_LE
83rate 16000
84}
85}
86
87pcm.dmix_12000{
88type dmix
89ipc_key 5678293
90ipc_key_add_uid yes
91slave{
92pcm "hw:0,0"
93period_time 0
94period_size 2048
95buffer_size 24576
96format S16_LE
97rate 12000
98}
99}
100
101pcm.dmix_11025{
102type dmix
103ipc_key 5678293
104ipc_key_add_uid yes
105slave{
106pcm "hw:0,0"
107period_time 0
108period_size 2048
109buffer_size 24576
110format S16_LE
111rate 11025
112}
113}
114
115pcm.dmix_8000{
116type dmix
117ipc_key 5678293
118ipc_key_add_uid yes
119slave{
120pcm "hw:0,0"
121period_time 0
122period_size 2048
123buffer_size 24576
124format S16_LE
125rate 8000
126}
127}
128
129pcm.!dsnoop_48000{
130type dsnoop
131ipc_key 5778293
132ipc_key_add_uid yes
133slave{
134pcm "hw:0,0"
135period_time 0
136period_size 2048
137buffer_size 24576
138format S16_LE
139rate 48000
140}
141}
142
143pcm.!dsnoop_44100{
144type dsnoop
145ipc_key 5778293
146ipc_key_add_uid yes
147slave{
148pcm "hw:0,0"
149period_time 0
150period_size 2048
151buffer_size 24576
152format S16_LE
153rate 44100
154}
155}
156
157pcm.!dsnoop_32000{
158type dsnoop
159ipc_key 5778293
160ipc_key_add_uid yes
161slave{
162pcm "hw:0,0"
163period_time 0
164period_size 2048
165buffer_size 24576
166format S16_LE
167rate 32000
168}
169}
170
171pcm.!dsnoop_24000{
172type dsnoop
173ipc_key 5778293
174ipc_key_add_uid yes
175slave{
176pcm "hw:0,0"
177period_time 0
178period_size 2048
179buffer_size 24576
180format S16_LE
181rate 24000
182}
183}
184
185pcm.!dsnoop_22050{
186type dsnoop
187ipc_key 5778293
188ipc_key_add_uid yes
189slave{
190pcm "hw:0,0"
191period_time 0
192period_size 2048
193buffer_size 24576
194format S16_LE
195rate 22050
196}
197}
198
199pcm.!dsnoop_16000{
200type dsnoop
201ipc_key 5778293
202ipc_key_add_uid yes
203slave{
204pcm "hw:0,0"
205period_time 0
206period_size 2048
207buffer_size 24576
208format S16_LE
209rate 16000
210}
211}
212
213pcm.!dsnoop_12000{
214type dsnoop
215ipc_key 5778293
216ipc_key_add_uid yes
217slave{
218pcm "hw:0,0"
219period_time 0
220period_size 2048
221buffer_size 24576
222format S16_LE
223rate 12000
224}
225}
226
227pcm.!dsnoop_11025{
228type dsnoop
229ipc_key 5778293
230ipc_key_add_uid yes
231slave{
232pcm "hw:0,0"
233period_time 0
234period_size 2048
235buffer_size 24576
236format S16_LE
237rate 11025
238}
239}
240
241pcm.!dsnoop_8000{
242type dsnoop
243ipc_key 5778293
244ipc_key_add_uid yes
245slave{
246pcm "hw:0,0"
247period_time 0
248period_size 2048
249buffer_size 24576
250format S16_LE
251rate 8000
252}
253}
254
255pcm.asymed{
256type asym
257playback.pcm "dmix_44100"
258capture.pcm "dsnoop_44100"
259}
260
261pcm.dsp0{
262type plug
263slave.pcm "asymed"
264}
265
266pcm.!default{
267type plug
268route_policy "average"
269slave.pcm "asymed"
270}
271
272ctl.mixer0{
273type hw
274card 0
275}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx5/asound.state b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
new file mode 100644
index 0000000..7c13a88
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx5/asound.state
@@ -0,0 +1,139 @@
1state.imx3stack {
2 control.1 {
3 iface MIXER
4 name 'MIC GAIN'
5 value '0dB'
6 comment {
7 access 'read write'
8 type ENUMERATED
9 count 1
10 item.0 '0dB'
11 item.1 '20dB'
12 item.2 '30dB'
13 item.3 '40dB'
14 }
15 }
16 control.2 {
17 iface MIXER
18 name 'Capture Volume'
19 value.0 12
20 value.1 12
21 comment {
22 access 'read write'
23 type INTEGER
24 count 2
25 range '0 - 15'
26 }
27 }
28 control.3 {
29 iface MIXER
30 name 'Capture Vol Reduction'
31 value 'No Change'
32 comment {
33 access 'read write'
34 type ENUMERATED
35 count 1
36 item.0 'No Change'
37 item.1 'Reduced by 6dB'
38 }
39 }
40 control.4 {
41 iface MIXER
42 name 'Playback Volume'
43 value.0 192
44 value.1 192
45 comment {
46 access 'read write'
47 type INTEGER
48 count 2
49 range '0 - 192'
50 }
51 }
52 control.5 {
53 iface MIXER
54 name 'Headphone Volume'
55 value.0 127
56 value.1 127
57 comment {
58 access 'read write'
59 type INTEGER
60 count 2
61 range '0 - 127'
62 }
63 }
64 control.6 {
65 iface MIXER
66 name 'DAC Mux'
67 value DAC
68 comment {
69 access 'read write'
70 type ENUMERATED
71 count 1
72 item.0 DAC
73 item.1 LINE_IN
74 }
75 }
76 control.7 {
77 iface MIXER
78 name 'ADC Mux'
79 value LINE_IN
80 comment {
81 access 'read write'
82 type ENUMERATED
83 count 1
84 item.0 MIC_IN
85 item.1 LINE_IN
86 }
87 }
88 control.8 {
89 iface MIXER
90 name ASRC
91 value disable
92 comment {
93 access 'read write'
94 type ENUMERATED
95 count 1
96 item.0 disable
97 item.1 '32KHz'
98 item.2 '44.1KHz'
99 item.3 '48KHz'
100 item.4 '96KHz'
101 }
102 }
103 control.9 {
104 iface MIXER
105 name 'Jack Function'
106 value on
107 comment {
108 access 'read write'
109 type ENUMERATED
110 count 1
111 item.0 off
112 item.1 on
113 }
114 }
115 control.10 {
116 iface MIXER
117 name 'Speaker Function'
118 value on
119 comment {
120 access 'read write'
121 type ENUMERATED
122 count 1
123 item.0 off
124 item.1 on
125 }
126 }
127 control.11 {
128 iface MIXER
129 name 'Line In Function'
130 value off
131 comment {
132 access 'read write'
133 type ENUMERATED
134 count 1
135 item.0 off
136 item.1 on
137 }
138 }
139}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf
new file mode 100644
index 0000000..3f4e048
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.conf
@@ -0,0 +1,257 @@
1defaults.pcm.rate_converter "linear"
2
3pcm.dmix_48000{
4type dmix
5ipc_key 5678293
6ipc_key_add_uid yes
7slave{
8pcm "hw:0,0"
9period_time 40000
10buffer_time 320000
11format S16_LE
12rate 48000
13}
14}
15
16pcm.dmix_44100{
17type dmix
18ipc_key 5678293
19ipc_key_add_uid yes
20slave{
21pcm "hw:0,0"
22period_time 40000
23buffer_time 360000
24format S16_LE
25rate 44100
26}
27}
28
29pcm.dmix_32000{
30type dmix
31ipc_key 5678293
32ipc_key_add_uid yes
33slave{
34pcm "hw:0,0"
35period_time 40000
36buffer_time 360000
37format S16_LE
38rate 32000
39}
40}
41
42pcm.dmix_24000{
43type dmix
44ipc_key 5678293
45ipc_key_add_uid yes
46slave{
47pcm "hw:0,0"
48period_time 40000
49buffer_time 360000
50format S16_LE
51rate 24000
52}
53}
54
55pcm.dmix_22050{
56type dmix
57ipc_key 5678293
58ipc_key_add_uid yes
59slave{
60pcm "hw:0,0"
61period_time 40000
62buffer_time 360000
63format S16_LE
64rate 22050
65}
66}
67
68pcm.dmix_16000{
69type dmix
70ipc_key 5678293
71ipc_key_add_uid yes
72slave{
73pcm "hw:0,0"
74period_time 40000
75buffer_time 360000
76format S16_LE
77rate 16000
78}
79}
80
81pcm.dmix_12000{
82type dmix
83ipc_key 5678293
84ipc_key_add_uid yes
85slave{
86pcm "hw:0,0"
87period_time 40000
88buffer_time 240000
89format S16_LE
90rate 12000
91}
92}
93
94pcm.dmix_11025{
95type dmix
96ipc_key 5678293
97ipc_key_add_uid yes
98slave{
99pcm "hw:0,0"
100period_time 40000
101buffer_time 240000
102format S16_LE
103rate 11025
104}
105}
106
107pcm.dmix_8000{
108type dmix
109ipc_key 5678293
110ipc_key_add_uid yes
111slave{
112pcm "hw:0,0"
113period_time 40000
114buffer_time 360000
115format S16_LE
116rate 8000
117}
118}
119
120pcm.!dsnoop_48000{
121type dsnoop
122ipc_key 5778293
123ipc_key_add_uid yes
124slave{
125pcm "hw:0,0"
126period_time 40000
127buffer_time 320000
128format S16_LE
129rate 48000
130}
131}
132
133pcm.!dsnoop_44100{
134type dsnoop
135ipc_key 5778293
136ipc_key_add_uid yes
137slave{
138pcm "hw:0,0"
139period_time 40000
140buffer_time 360000
141format S16_LE
142rate 44100
143}
144}
145
146pcm.!dsnoop_32000{
147type dsnoop
148ipc_key 5778293
149ipc_key_add_uid yes
150slave{
151pcm "hw:0,0"
152period_time 40000
153buffer_time 360000
154format S16_LE
155rate 32000
156}
157}
158
159pcm.!dsnoop_24000{
160type dsnoop
161ipc_key 5778293
162ipc_key_add_uid yes
163slave{
164pcm "hw:0,0"
165period_time 40000
166buffer_time 360000
167format S16_LE
168rate 24000
169}
170}
171
172pcm.!dsnoop_22050{
173type dsnoop
174ipc_key 5778293
175ipc_key_add_uid yes
176slave{
177pcm "hw:0,0"
178period_time 40000
179buffer_time 360000
180format S16_LE
181rate 22050
182}
183}
184
185pcm.!dsnoop_16000{
186type dsnoop
187ipc_key 5778293
188ipc_key_add_uid yes
189slave{
190pcm "hw:0,0"
191period_time 40000
192buffer_time 360000
193format S16_LE
194rate 16000
195}
196}
197
198pcm.!dsnoop_12000{
199type dsnoop
200ipc_key 5778293
201ipc_key_add_uid yes
202slave{
203pcm "hw:0,0"
204period_time 40000
205buffer_time 240000
206format S16_LE
207rate 12000
208}
209}
210
211pcm.!dsnoop_11025{
212type dsnoop
213ipc_key 5778293
214ipc_key_add_uid yes
215slave{
216pcm "hw:0,0"
217period_time 40000
218buffer_time 240000
219format S16_LE
220rate 11025
221}
222}
223
224pcm.!dsnoop_8000{
225type dsnoop
226ipc_key 5778293
227ipc_key_add_uid yes
228slave{
229pcm "hw:0,0"
230period_time 40000
231buffer_time 360000
232format S16_LE
233rate 8000
234}
235}
236
237pcm.asymed{
238type asym
239playback.pcm "dmix_44100"
240capture.pcm "dsnoop_44100"
241}
242
243pcm.dsp0{
244type plug
245slave.pcm "asymed"
246}
247
248pcm.!default{
249type plug
250route_policy "average"
251slave.pcm "asymed"
252}
253
254ctl.mixer0{
255type hw
256card 0
257}
diff --git a/recipes-bsp/alsa-state/alsa-state/mx6/asound.state b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
new file mode 100644
index 0000000..552f763
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mx6/asound.state
@@ -0,0 +1,1374 @@
1state.wm8962audio {
2 control.1 {
3 iface MIXER
4 name 'Input Mixer Switch'
5 value.0 true
6 value.1 true
7 comment {
8 access 'read write'
9 type BOOLEAN
10 count 2
11 }
12 }
13 control.2 {
14 iface MIXER
15 name 'MIXINL IN2L Volume'
16 value 5
17 comment {
18 access 'read write'
19 type INTEGER
20 count 1
21 range '0 - 7'
22 dbmin -1500
23 dbmax 600
24 dbvalue.0 0
25 }
26 }
27 control.3 {
28 iface MIXER
29 name 'MIXINL PGA Volume'
30 value 0
31 comment {
32 access 'read write'
33 type INTEGER
34 count 1
35 range '0 - 7'
36 dbmin 0
37 dbmax 3000
38 dbvalue.0 0
39 }
40 }
41 control.4 {
42 iface MIXER
43 name 'MIXINL IN3L Volume'
44 value 5
45 comment {
46 access 'read write'
47 type INTEGER
48 count 1
49 range '0 - 7'
50 dbmin -1500
51 dbmax 600
52 dbvalue.0 0
53 }
54 }
55 control.5 {
56 iface MIXER
57 name 'MIXINR IN2R Volume'
58 value 5
59 comment {
60 access 'read write'
61 type INTEGER
62 count 1
63 range '0 - 7'
64 dbmin -1500
65 dbmax 600
66 dbvalue.0 0
67 }
68 }
69 control.6 {
70 iface MIXER
71 name 'MIXINR PGA Volume'
72 value 0
73 comment {
74 access 'read write'
75 type INTEGER
76 count 1
77 range '0 - 7'
78 dbmin 0
79 dbmax 3000
80 dbvalue.0 0
81 }
82 }
83 control.7 {
84 iface MIXER
85 name 'MIXINR IN3R Volume'
86 value 7
87 comment {
88 access 'read write'
89 type INTEGER
90 count 1
91 range '0 - 7'
92 dbmin -1500
93 dbmax 600
94 dbvalue.0 600
95 }
96 }
97 control.8 {
98 iface MIXER
99 name 'Digital Capture Volume'
100 value.0 108
101 value.1 108
102 comment {
103 access 'read write'
104 type INTEGER
105 count 2
106 range '0 - 127'
107 dbmin -9999999
108 dbmax 2325
109 dbvalue.0 900
110 dbvalue.1 900
111 }
112 }
113 control.9 {
114 iface MIXER
115 name 'Capture Volume'
116 value.0 63
117 value.1 63
118 comment {
119 access 'read write'
120 type INTEGER
121 count 2
122 range '0 - 63'
123 dbmin -2325
124 dbmax 2400
125 dbvalue.0 2400
126 dbvalue.1 2400
127 }
128 }
129 control.10 {
130 iface MIXER
131 name 'Capture Switch'
132 value.0 false
133 value.1 false
134 comment {
135 access 'read write'
136 type BOOLEAN
137 count 2
138 }
139 }
140 control.11 {
141 iface MIXER
142 name 'Capture ZC Switch'
143 value.0 true
144 value.1 true
145 comment {
146 access 'read write'
147 type BOOLEAN
148 count 2
149 }
150 }
151 control.12 {
152 iface MIXER
153 name 'Capture HPF Switch'
154 value true
155 comment {
156 access 'read write'
157 type BOOLEAN
158 count 1
159 }
160 }
161 control.13 {
162 iface MIXER
163 name 'Capture HPF Mode'
164 value Hi-fi
165 comment {
166 access 'read write'
167 type ENUMERATED
168 count 1
169 item.0 Hi-fi
170 item.1 Application
171 }
172 }
173 control.14 {
174 iface MIXER
175 name 'Capture HPF Cutoff'
176 value 0
177 comment {
178 access 'read write'
179 type INTEGER
180 count 1
181 range '0 - 7'
182 }
183 }
184 control.15 {
185 iface MIXER
186 name 'Capture LHPF Switch'
187 value false
188 comment {
189 access 'read write'
190 type BOOLEAN
191 count 1
192 }
193 }
194 control.16 {
195 iface MIXER
196 name 'Capture LHPF Mode'
197 value LPF
198 comment {
199 access 'read write'
200 type ENUMERATED
201 count 1
202 item.0 LPF
203 item.1 HPF
204 }
205 }
206 control.17 {
207 iface MIXER
208 name 'Sidetone Volume'
209 value.0 0
210 value.1 0
211 comment {
212 access 'read write'
213 type INTEGER
214 count 2
215 range '0 - 12'
216 dbmin -3600
217 dbmax 0
218 dbvalue.0 -3600
219 dbvalue.1 -3600
220 }
221 }
222 control.18 {
223 iface MIXER
224 name 'Digital Playback Volume'
225 value.0 96
226 value.1 96
227 comment {
228 access 'read write'
229 type INTEGER
230 count 2
231 range '0 - 127'
232 dbmin -9999999
233 dbmax 2325
234 dbvalue.0 0
235 dbvalue.1 0
236 }
237 }
238 control.19 {
239 iface MIXER
240 name 'DAC High Performance Switch'
241 value false
242 comment {
243 access 'read write'
244 type BOOLEAN
245 count 1
246 }
247 }
248 control.20 {
249 iface MIXER
250 name 'DAC L/R Swap Switch'
251 value false
252 comment {
253 access 'read write'
254 type BOOLEAN
255 count 1
256 }
257 }
258 control.21 {
259 iface MIXER
260 name 'ADC L/R Swap Switch'
261 value false
262 comment {
263 access 'read write'
264 type BOOLEAN
265 count 1
266 }
267 }
268 control.22 {
269 iface MIXER
270 name 'ADC High Performance Switch'
271 value true
272 comment {
273 access 'read write'
274 type BOOLEAN
275 count 1
276 }
277 }
278 control.23 {
279 iface MIXER
280 name 'Beep Volume'
281 value 0
282 comment {
283 access 'read write'
284 type INTEGER
285 count 1
286 range '0 - 15'
287 dbmin -9999999
288 dbmax -600
289 dbvalue.0 -9999999
290 }
291 }
292 control.24 {
293 iface MIXER
294 name 'Headphone Volume'
295 value.0 93
296 value.1 93
297 comment {
298 access 'read write'
299 type INTEGER
300 count 2
301 range '0 - 127'
302 dbmin -9999999
303 dbmax 600
304 dbvalue.0 -2800
305 dbvalue.1 -2800
306 }
307 }
308 control.25 {
309 iface MIXER
310 name 'Headphone Switch'
311 value.0 true
312 value.1 true
313 comment {
314 access 'read write'
315 type BOOLEAN
316 count 2
317 }
318 }
319 control.26 {
320 iface MIXER
321 name 'Headphone ZC Switch'
322 value.0 false
323 value.1 false
324 comment {
325 access 'read write'
326 type BOOLEAN
327 count 2
328 }
329 }
330 control.27 {
331 iface MIXER
332 name 'Headphone Aux Volume'
333 value.0 7
334 value.1 7
335 comment {
336 access 'read write'
337 type INTEGER
338 count 2
339 range '0 - 7'
340 dbmin -700
341 dbmax 0
342 dbvalue.0 0
343 dbvalue.1 0
344 }
345 }
346 control.28 {
347 iface MIXER
348 name 'Headphone Mixer Switch'
349 value.0 false
350 value.1 false
351 comment {
352 access 'read write'
353 type BOOLEAN
354 count 2
355 }
356 }
357 control.29 {
358 iface MIXER
359 name 'HPMIXL IN4L Volume'
360 value 7
361 comment {
362 access 'read write'
363 type INTEGER
364 count 1
365 range '0 - 7'
366 dbmin -1500
367 dbmax 600
368 dbvalue.0 600
369 }
370 }
371 control.30 {
372 iface MIXER
373 name 'HPMIXL IN4R Volume'
374 value 7
375 comment {
376 access 'read write'
377 type INTEGER
378 count 1
379 range '0 - 7'
380 dbmin -1500
381 dbmax 600
382 dbvalue.0 600
383 }
384 }
385 control.31 {
386 iface MIXER
387 name 'HPMIXL MIXINL Volume'
388 value 1
389 comment {
390 access 'read write'
391 type INTEGER
392 count 1
393 range '0 - 1'
394 dbmin -600
395 dbmax 0
396 dbvalue.0 0
397 }
398 }
399 control.32 {
400 iface MIXER
401 name 'HPMIXL MIXINR Volume'
402 value 1
403 comment {
404 access 'read write'
405 type INTEGER
406 count 1
407 range '0 - 1'
408 dbmin -600
409 dbmax 0
410 dbvalue.0 0
411 }
412 }
413 control.33 {
414 iface MIXER
415 name 'HPMIXR IN4L Volume'
416 value 7
417 comment {
418 access 'read write'
419 type INTEGER
420 count 1
421 range '0 - 7'
422 dbmin -1500
423 dbmax 600
424 dbvalue.0 600
425 }
426 }
427 control.34 {
428 iface MIXER
429 name 'HPMIXR IN4R Volume'
430 value 7
431 comment {
432 access 'read write'
433 type INTEGER
434 count 1
435 range '0 - 7'
436 dbmin -1500
437 dbmax 600
438 dbvalue.0 600
439 }
440 }
441 control.35 {
442 iface MIXER
443 name 'HPMIXR MIXINL Volume'
444 value 1
445 comment {
446 access 'read write'
447 type INTEGER
448 count 1
449 range '0 - 1'
450 dbmin -600
451 dbmax 0
452 dbvalue.0 0
453 }
454 }
455 control.36 {
456 iface MIXER
457 name 'HPMIXR MIXINR Volume'
458 value 1
459 comment {
460 access 'read write'
461 type INTEGER
462 count 1
463 range '0 - 1'
464 dbmin -600
465 dbmax 0
466 dbvalue.0 0
467 }
468 }
469 control.37 {
470 iface MIXER
471 name 'Speaker Boost Volume'
472 value 3
473 comment {
474 access 'read write'
475 type INTEGER
476 count 1
477 range '0 - 7'
478 dbmin 0
479 dbmax 1200
480 dbvalue.0 450
481 }
482 }
483 control.38 {
484 iface MIXER
485 name 'EQ Switch'
486 value false
487 comment {
488 access 'read write'
489 type BOOLEAN
490 count 1
491 }
492 }
493 control.39 {
494 iface MIXER
495 name 'EQ1 Volume'
496 value.0 12
497 value.1 12
498 comment {
499 access 'read write'
500 type INTEGER
501 count 2
502 range '0 - 31'
503 dbmin -1200
504 dbmax 1900
505 dbvalue.0 0
506 dbvalue.1 0
507 }
508 }
509 control.40 {
510 iface MIXER
511 name 'EQ2 Volume'
512 value.0 12
513 value.1 12
514 comment {
515 access 'read write'
516 type INTEGER
517 count 2
518 range '0 - 31'
519 dbmin -1200
520 dbmax 1900
521 dbvalue.0 0
522 dbvalue.1 0
523 }
524 }
525 control.41 {
526 iface MIXER
527 name 'EQ3 Volume'
528 value.0 12
529 value.1 12
530 comment {
531 access 'read write'
532 type INTEGER
533 count 2
534 range '0 - 31'
535 dbmin -1200
536 dbmax 1900
537 dbvalue.0 0
538 dbvalue.1 0
539 }
540 }
541 control.42 {
542 iface MIXER
543 name 'EQ4 Volume'
544 value.0 12
545 value.1 12
546 comment {
547 access 'read write'
548 type INTEGER
549 count 2
550 range '0 - 31'
551 dbmin -1200
552 dbmax 1900
553 dbvalue.0 0
554 dbvalue.1 0
555 }
556 }
557 control.43 {
558 iface MIXER
559 name 'EQ5 Volume'
560 value.0 12
561 value.1 12
562 comment {
563 access 'read write'
564 type INTEGER
565 count 2
566 range '0 - 31'
567 dbmin -1200
568 dbmax 1900
569 dbvalue.0 0
570 dbvalue.1 0
571 }
572 }
573 control.44 {
574 iface MIXER
575 name '3D Switch'
576 value false
577 comment {
578 access 'read write'
579 type BOOLEAN
580 count 1
581 }
582 }
583 control.45 {
584 iface MIXER
585 name '3D Coefficients'
586 value '0040000000000000'
587 comment {
588 access 'read write'
589 type BYTES
590 count 8
591 }
592 }
593 control.46 {
594 iface MIXER
595 name 'DF1 Switch'
596 value false
597 comment {
598 access 'read write'
599 type BOOLEAN
600 count 1
601 }
602 }
603 control.47 {
604 iface MIXER
605 name 'DF1 Coefficients'
606 value '0000000000000000000000000000'
607 comment {
608 access 'read write'
609 type BYTES
610 count 14
611 }
612 }
613 control.48 {
614 iface MIXER
615 name 'DRC Switch'
616 value false
617 comment {
618 access 'read write'
619 type BOOLEAN
620 count 1
621 }
622 }
623 control.49 {
624 iface MIXER
625 name 'DRC Coefficients'
626 value '000c0925000000000000'
627 comment {
628 access 'read write'
629 type BYTES
630 count 10
631 }
632 }
633 control.50 {
634 iface MIXER
635 name 'VSS Switch'
636 value false
637 comment {
638 access 'read write'
639 type BOOLEAN
640 count 1
641 }
642 }
643 control.51 {
644 iface MIXER
645 name 'VSS Coefficients'
646 value '008c020000350700003a4100008b7d00003a4100008cfee800780000003fb260002d18180020000000f1834000fb830000eeaec000fbac4000f17f8000f43b4000f5fb0000ea10c000fcc58000e275c00004b48000d4f9800004914000d8a48000023dc000cf7a8000dc060000f2dac000baf340000a7940001c068000fd2d00001ce840000ddc4000fc9d000009558000fe7e80000eab4000f99880000987c000fd2c400009480000035f400000870000fae4c000000b400004e18000011f4000f8b00000fbcbc00004f3800007df4000ff070000efd70000fbaf4000108a80001107c000e0080000d276000020cf400030234000fd69c0002835000006330000d9f6c000f33340000f420000040c8000fb3f8000f757c0000354000000c6c0000312c000fd8580'
647 comment {
648 access 'read write'
649 type BYTES
650 count 296
651 }
652 }
653 control.52 {
654 iface MIXER
655 name 'HPF1 Switch'
656 value false
657 comment {
658 access 'read write'
659 type BOOLEAN
660 count 1
661 }
662 }
663 control.53 {
664 iface MIXER
665 name 'HPF2 Switch'
666 value false
667 comment {
668 access 'read write'
669 type BOOLEAN
670 count 1
671 }
672 }
673 control.54 {
674 iface MIXER
675 name 'HPF Coefficients'
676 value '0000'
677 comment {
678 access 'read write'
679 type BYTES
680 count 2
681 }
682 }
683 control.55 {
684 iface MIXER
685 name 'HD Bass Switch'
686 value false
687 comment {
688 access 'read write'
689 type BOOLEAN
690 count 1
691 }
692 }
693 control.56 {
694 iface MIXER
695 name 'HD Bass Coefficients'
696 value '0002bd12007c586c00538121003f8bd80032f52d0065ac8c006be08700721483007214830043352500066a4a0043607900080000000100000059999a'
697 comment {
698 access 'read write'
699 type BYTES
700 count 60
701 }
702 }
703 control.57 {
704 iface MIXER
705 name 'Speaker Volume'
706 value.0 114
707 value.1 114
708 comment {
709 access 'read write'
710 type INTEGER
711 count 2
712 range '0 - 127'
713 dbmin -9999999
714 dbmax 600
715 dbvalue.0 -700
716 dbvalue.1 -700
717 }
718 }
719 control.58 {
720 iface MIXER
721 name 'Speaker Switch'
722 value.0 false
723 value.1 false
724 comment {
725 access 'read write'
726 type BOOLEAN
727 count 2
728 }
729 }
730 control.59 {
731 iface MIXER
732 name 'Speaker ZC Switch'
733 value.0 false
734 value.1 false
735 comment {
736 access 'read write'
737 type BOOLEAN
738 count 2
739 }
740 }
741 control.60 {
742 iface MIXER
743 name 'Speaker Mixer Switch'
744 value.0 false
745 value.1 false
746 comment {
747 access 'read write'
748 type BOOLEAN
749 count 2
750 }
751 }
752 control.61 {
753 iface MIXER
754 name 'SPKOUTL Mixer IN4L Volume'
755 value 7
756 comment {
757 access 'read write'
758 type INTEGER
759 count 1
760 range '0 - 7'
761 dbmin -1500
762 dbmax 600
763 dbvalue.0 600
764 }
765 }
766 control.62 {
767 iface MIXER
768 name 'SPKOUTL Mixer IN4R Volume'
769 value 7
770 comment {
771 access 'read write'
772 type INTEGER
773 count 1
774 range '0 - 7'
775 dbmin -1500
776 dbmax 600
777 dbvalue.0 600
778 }
779 }
780 control.63 {
781 iface MIXER
782 name 'SPKOUTL Mixer MIXINL Volume'
783 value 1
784 comment {
785 access 'read write'
786 type INTEGER
787 count 1
788 range '0 - 1'
789 dbmin -600
790 dbmax 0
791 dbvalue.0 0
792 }
793 }
794 control.64 {
795 iface MIXER
796 name 'SPKOUTL Mixer MIXINR Volume'
797 value 1
798 comment {
799 access 'read write'
800 type INTEGER
801 count 1
802 range '0 - 1'
803 dbmin -600
804 dbmax 0
805 dbvalue.0 0
806 }
807 }
808 control.65 {
809 iface MIXER
810 name 'SPKOUTL Mixer DACL Volume'
811 value 0
812 comment {
813 access 'read write'
814 type INTEGER
815 count 1
816 range '0 - 1'
817 dbmin -600
818 dbmax 0
819 dbvalue.0 -600
820 }
821 }
822 control.66 {
823 iface MIXER
824 name 'SPKOUTL Mixer DACR Volume'
825 value 0
826 comment {
827 access 'read write'
828 type INTEGER
829 count 1
830 range '0 - 1'
831 dbmin -600
832 dbmax 0
833 dbvalue.0 -600
834 }
835 }
836 control.67 {
837 iface MIXER
838 name 'SPKOUTR Mixer IN4L Volume'
839 value 7
840 comment {
841 access 'read write'
842 type INTEGER
843 count 1
844 range '0 - 7'
845 dbmin -1500
846 dbmax 600
847 dbvalue.0 600
848 }
849 }
850 control.68 {
851 iface MIXER
852 name 'SPKOUTR Mixer IN4R Volume'
853 value 7
854 comment {
855 access 'read write'
856 type INTEGER
857 count 1
858 range '0 - 7'
859 dbmin -1500
860 dbmax 600
861 dbvalue.0 600
862 }
863 }
864 control.69 {
865 iface MIXER
866 name 'SPKOUTR Mixer MIXINL Volume'
867 value 1
868 comment {
869 access 'read write'
870 type INTEGER
871 count 1
872 range '0 - 1'
873 dbmin -600
874 dbmax 0
875 dbvalue.0 0
876 }
877 }
878 control.70 {
879 iface MIXER
880 name 'SPKOUTR Mixer MIXINR Volume'
881 value 1
882 comment {
883 access 'read write'
884 type INTEGER
885 count 1
886 range '0 - 1'
887 dbmin -600
888 dbmax 0
889 dbvalue.0 0
890 }
891 }
892 control.71 {
893 iface MIXER
894 name 'SPKOUTR Mixer DACL Volume'
895 value 0
896 comment {
897 access 'read write'
898 type INTEGER
899 count 1
900 range '0 - 1'
901 dbmin -600
902 dbmax 0
903 dbvalue.0 -600
904 }
905 }
906 control.72 {
907 iface MIXER
908 name 'SPKOUTR Mixer DACR Volume'
909 value 0
910 comment {
911 access 'read write'
912 type INTEGER
913 count 1
914 range '0 - 1'
915 dbmin -600
916 dbmax 0
917 dbvalue.0 -600
918 }
919 }
920 control.73 {
921 iface MIXER
922 name 'SPKOUTR PGA'
923 value DAC
924 comment {
925 access 'read write'
926 type ENUMERATED
927 count 1
928 item.0 DAC
929 item.1 Mixer
930 }
931 }
932 control.74 {
933 iface MIXER
934 name 'SPKOUTL PGA'
935 value DAC
936 comment {
937 access 'read write'
938 type ENUMERATED
939 count 1
940 item.0 DAC
941 item.1 Mixer
942 }
943 }
944 control.75 {
945 iface MIXER
946 name 'SPKOUTR Mixer DACL Switch'
947 value false
948 comment {
949 access 'read write'
950 type BOOLEAN
951 count 1
952 }
953 }
954 control.76 {
955 iface MIXER
956 name 'SPKOUTR Mixer DACR Switch'
957 value false
958 comment {
959 access 'read write'
960 type BOOLEAN
961 count 1
962 }
963 }
964 control.77 {
965 iface MIXER
966 name 'SPKOUTR Mixer MIXINL Switch'
967 value false
968 comment {
969 access 'read write'
970 type BOOLEAN
971 count 1
972 }
973 }
974 control.78 {
975 iface MIXER
976 name 'SPKOUTR Mixer MIXINR Switch'
977 value false
978 comment {
979 access 'read write'
980 type BOOLEAN
981 count 1
982 }
983 }
984 control.79 {
985 iface MIXER
986 name 'SPKOUTR Mixer IN4L Switch'
987 value false
988 comment {
989 access 'read write'
990 type BOOLEAN
991 count 1
992 }
993 }
994 control.80 {
995 iface MIXER
996 name 'SPKOUTR Mixer IN4R Switch'
997 value false
998 comment {
999 access 'read write'
1000 type BOOLEAN
1001 count 1
1002 }
1003 }
1004 control.81 {
1005 iface MIXER
1006 name 'SPKOUTL Mixer DACL Switch'
1007 value false
1008 comment {
1009 access 'read write'
1010 type BOOLEAN
1011 count 1
1012 }
1013 }
1014 control.82 {
1015 iface MIXER
1016 name 'SPKOUTL Mixer DACR Switch'
1017 value false
1018 comment {
1019 access 'read write'
1020 type BOOLEAN
1021 count 1
1022 }
1023 }
1024 control.83 {
1025 iface MIXER
1026 name 'SPKOUTL Mixer MIXINL Switch'
1027 value false
1028 comment {
1029 access 'read write'
1030 type BOOLEAN
1031 count 1
1032 }
1033 }
1034 control.84 {
1035 iface MIXER
1036 name 'SPKOUTL Mixer MIXINR Switch'
1037 value false
1038 comment {
1039 access 'read write'
1040 type BOOLEAN
1041 count 1
1042 }
1043 }
1044 control.85 {
1045 iface MIXER
1046 name 'SPKOUTL Mixer IN4L Switch'
1047 value false
1048 comment {
1049 access 'read write'
1050 type BOOLEAN
1051 count 1
1052 }
1053 }
1054 control.86 {
1055 iface MIXER
1056 name 'SPKOUTL Mixer IN4R Switch'
1057 value false
1058 comment {
1059 access 'read write'
1060 type BOOLEAN
1061 count 1
1062 }
1063 }
1064 control.87 {
1065 iface MIXER
1066 name 'HPOUTR PGA'
1067 value DAC
1068 comment {
1069 access 'read write'
1070 type ENUMERATED
1071 count 1
1072 item.0 DAC
1073 item.1 Mixer
1074 }
1075 }
1076 control.88 {
1077 iface MIXER
1078 name 'HPOUTL PGA'
1079 value DAC
1080 comment {
1081 access 'read write'
1082 type ENUMERATED
1083 count 1
1084 item.0 DAC
1085 item.1 Mixer
1086 }
1087 }
1088 control.89 {
1089 iface MIXER
1090 name 'HPMIXR DACL Switch'
1091 value false
1092 comment {
1093 access 'read write'
1094 type BOOLEAN
1095 count 1
1096 }
1097 }
1098 control.90 {
1099 iface MIXER
1100 name 'HPMIXR DACR Switch'
1101 value false
1102 comment {
1103 access 'read write'
1104 type BOOLEAN
1105 count 1
1106 }
1107 }
1108 control.91 {
1109 iface MIXER
1110 name 'HPMIXR MIXINL Switch'
1111 value false
1112 comment {
1113 access 'read write'
1114 type BOOLEAN
1115 count 1
1116 }
1117 }
1118 control.92 {
1119 iface MIXER
1120 name 'HPMIXR MIXINR Switch'
1121 value false
1122 comment {
1123 access 'read write'
1124 type BOOLEAN
1125 count 1
1126 }
1127 }
1128 control.93 {
1129 iface MIXER
1130 name 'HPMIXR IN4L Switch'
1131 value false
1132 comment {
1133 access 'read write'
1134 type BOOLEAN
1135 count 1
1136 }
1137 }
1138 control.94 {
1139 iface MIXER
1140 name 'HPMIXR IN4R Switch'
1141 value false
1142 comment {
1143 access 'read write'
1144 type BOOLEAN
1145 count 1
1146 }
1147 }
1148 control.95 {
1149 iface MIXER
1150 name 'HPMIXL DACL Switch'
1151 value false
1152 comment {
1153 access 'read write'
1154 type BOOLEAN
1155 count 1
1156 }
1157 }
1158 control.96 {
1159 iface MIXER
1160 name 'HPMIXL DACR Switch'
1161 value false
1162 comment {
1163 access 'read write'
1164 type BOOLEAN
1165 count 1
1166 }
1167 }
1168 control.97 {
1169 iface MIXER
1170 name 'HPMIXL MIXINL Switch'
1171 value false
1172 comment {
1173 access 'read write'
1174 type BOOLEAN
1175 count 1
1176 }
1177 }
1178 control.98 {
1179 iface MIXER
1180 name 'HPMIXL MIXINR Switch'
1181 value false
1182 comment {
1183 access 'read write'
1184 type BOOLEAN
1185 count 1
1186 }
1187 }
1188 control.99 {
1189 iface MIXER
1190 name 'HPMIXL IN4L Switch'
1191 value false
1192 comment {
1193 access 'read write'
1194 type BOOLEAN
1195 count 1
1196 }
1197 }
1198 control.100 {
1199 iface MIXER
1200 name 'HPMIXL IN4R Switch'
1201 value false
1202 comment {
1203 access 'read write'
1204 type BOOLEAN
1205 count 1
1206 }
1207 }
1208 control.101 {
1209 iface MIXER
1210 name STR
1211 value None
1212 comment {
1213 access 'read write'
1214 type ENUMERATED
1215 count 1
1216 item.0 None
1217 item.1 Left
1218 item.2 Right
1219 }
1220 }
1221 control.102 {
1222 iface MIXER
1223 name STL
1224 value None
1225 comment {
1226 access 'read write'
1227 type ENUMERATED
1228 count 1
1229 item.0 None
1230 item.1 Left
1231 item.2 Right
1232 }
1233 }
1234 control.103 {
1235 iface MIXER
1236 name 'MIXINR IN2R Switch'
1237 value false
1238 comment {
1239 access 'read write'
1240 type BOOLEAN
1241 count 1
1242 }
1243 }
1244 control.104 {
1245 iface MIXER
1246 name 'MIXINR IN3R Switch'
1247 value false
1248 comment {
1249 access 'read write'
1250 type BOOLEAN
1251 count 1
1252 }
1253 }
1254 control.105 {
1255 iface MIXER
1256 name 'MIXINR PGA Switch'
1257 value true
1258 comment {
1259 access 'read write'
1260 type BOOLEAN
1261 count 1
1262 }
1263 }
1264 control.106 {
1265 iface MIXER
1266 name 'MIXINL IN2L Switch'
1267 value false
1268 comment {
1269 access 'read write'
1270 type BOOLEAN
1271 count 1
1272 }
1273 }
1274 control.107 {
1275 iface MIXER
1276 name 'MIXINL IN3L Switch'
1277 value false
1278 comment {
1279 access 'read write'
1280 type BOOLEAN
1281 count 1
1282 }
1283 }
1284 control.108 {
1285 iface MIXER
1286 name 'MIXINL PGA Switch'
1287 value true
1288 comment {
1289 access 'read write'
1290 type BOOLEAN
1291 count 1
1292 }
1293 }
1294 control.109 {
1295 iface MIXER
1296 name 'INPGAR IN1R Switch'
1297 value true
1298 comment {
1299 access 'read write'
1300 type BOOLEAN
1301 count 1
1302 }
1303 }
1304 control.110 {
1305 iface MIXER
1306 name 'INPGAR IN2R Switch'
1307 value false
1308 comment {
1309 access 'read write'
1310 type BOOLEAN
1311 count 1
1312 }
1313 }
1314 control.111 {
1315 iface MIXER
1316 name 'INPGAR IN3R Switch'
1317 value false
1318 comment {
1319 access 'read write'
1320 type BOOLEAN
1321 count 1
1322 }
1323 }
1324 control.112 {
1325 iface MIXER
1326 name 'INPGAR IN4R Switch'
1327 value false
1328 comment {
1329 access 'read write'
1330 type BOOLEAN
1331 count 1
1332 }
1333 }
1334 control.113 {
1335 iface MIXER
1336 name 'INPGAL IN1L Switch'
1337 value true
1338 comment {
1339 access 'read write'
1340 type BOOLEAN
1341 count 1
1342 }
1343 }
1344 control.114 {
1345 iface MIXER
1346 name 'INPGAL IN2L Switch'
1347 value false
1348 comment {
1349 access 'read write'
1350 type BOOLEAN
1351 count 1
1352 }
1353 }
1354 control.115 {
1355 iface MIXER
1356 name 'INPGAL IN3L Switch'
1357 value false
1358 comment {
1359 access 'read write'
1360 type BOOLEAN
1361 count 1
1362 }
1363 }
1364 control.116 {
1365 iface MIXER
1366 name 'INPGAL IN4L Switch'
1367 value false
1368 comment {
1369 access 'read write'
1370 type BOOLEAN
1371 count 1
1372 }
1373 }
1374}
diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf
new file mode 100644
index 0000000..39cb396
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.conf
@@ -0,0 +1,299 @@
1defaults.pcm.rate_converter "linear"
2
3pcm.dmix_48000{
4type plug
5slave.pcm{
6type dmix
7ipc_key 5678293
8ipc_key_add_uid yes
9slave{
10pcm "hw:0,0"
11period_time 0
12period_size 2048
13buffer_size 24576
14format S16_LE
15rate 48000
16}
17}
18}
19
20pcm.dmix_44100{
21type dmix
22ipc_key 5678293
23ipc_key_add_uid yes
24slave{
25pcm "hw:0,0"
26period_time 0
27period_size 2048
28buffer_size 24576
29format S16_LE
30rate 44100
31}
32}
33
34pcm.dmix_32000{
35type plug
36slave.pcm{
37type dmix
38ipc_key 5678293
39ipc_key_add_uid yes
40slave{
41pcm "hw:0,0"
42period_time 0
43period_size 2048
44buffer_size 24576
45format S16_LE
46rate 32000
47}
48}
49}
50
51pcm.dmix_24000{
52type plug
53slave.pcm{
54type dmix
55ipc_key 5678293
56ipc_key_add_uid yes
57slave{
58pcm "hw:0,0"
59period_time 0
60period_size 2048
61buffer_size 24576
62format S16_LE
63rate 24000
64}
65}
66}
67
68pcm.dmix_22050{
69type plug
70slave.pcm{
71type dmix
72ipc_key 5678293
73ipc_key_add_uid yes
74slave{
75pcm "hw:0,0"
76period_time 0
77period_size 2048
78buffer_size 24576
79format S16_LE
80rate 22050
81}
82}
83}
84
85pcm.dmix_16000{
86type plug
87slave.pcm{
88type dmix
89ipc_key 5678293
90ipc_key_add_uid yes
91slave{
92pcm "hw:0,0"
93period_time 0
94period_size 2048
95buffer_size 24576
96format S16_LE
97rate 16000
98}
99}
100}
101
102pcm.dmix_12000{
103type plug
104slave.pcm{
105type dmix
106ipc_key 5678293
107ipc_key_add_uid yes
108slave{
109pcm "hw:0,0"
110period_time 0
111period_size 2048
112buffer_size 24576
113format S16_LE
114rate 12000
115}
116}
117}
118
119pcm.dmix_11025{
120type plug
121slave.pcm{
122type dmix
123ipc_key 5678293
124ipc_key_add_uid yes
125slave{
126pcm "hw:0,0"
127period_time 0
128period_size 2048
129buffer_size 24576
130format S16_LE
131rate 11025
132}
133}
134}
135
136pcm.dmix_8000{
137type plug
138slave.pcm{
139type dmix
140ipc_key 5678293
141ipc_key_add_uid yes
142slave{
143pcm "hw:0,0"
144period_time 0
145period_size 2048
146buffer_size 24576
147format S16_LE
148rate 8000
149}
150}
151}
152
153pcm.!dsnoop_48000{
154type dsnoop
155ipc_key 5778293
156ipc_key_add_uid yes
157slave{
158pcm "hw:0,0"
159period_time 0
160period_size 2048
161buffer_size 24576
162format S16_LE
163rate 48000
164}
165}
166
167pcm.!dsnoop_44100{
168type dsnoop
169ipc_key 5778293
170ipc_key_add_uid yes
171slave{
172pcm "hw:0,0"
173period_time 0
174period_size 2048
175buffer_size 24576
176format S16_LE
177rate 44100
178}
179}
180
181pcm.!dsnoop_32000{
182type dsnoop
183ipc_key 5778293
184ipc_key_add_uid yes
185slave{
186pcm "hw:0,0"
187period_time 0
188period_size 2048
189buffer_size 24576
190format S16_LE
191rate 32000
192}
193}
194
195pcm.!dsnoop_24000{
196type dsnoop
197ipc_key 5778293
198ipc_key_add_uid yes
199slave{
200pcm "hw:0,0"
201period_time 0
202period_size 2048
203buffer_size 24576
204format S16_LE
205rate 24000
206}
207}
208
209pcm.!dsnoop_22050{
210type dsnoop
211ipc_key 5778293
212ipc_key_add_uid yes
213slave{
214pcm "hw:0,0"
215period_time 0
216period_size 2048
217buffer_size 24576
218format S16_LE
219rate 22050
220}
221}
222
223pcm.!dsnoop_16000{
224type dsnoop
225ipc_key 5778293
226ipc_key_add_uid yes
227slave{
228pcm "hw:0,0"
229period_time 0
230period_size 2048
231buffer_size 24576
232format S16_LE
233rate 16000
234}
235}
236
237pcm.!dsnoop_12000{
238type dsnoop
239ipc_key 5778293
240ipc_key_add_uid yes
241slave{
242pcm "hw:0,0"
243period_time 0
244period_size 2048
245buffer_size 24576
246format S16_LE
247rate 12000
248}
249}
250
251pcm.!dsnoop_11025{
252type dsnoop
253ipc_key 5778293
254ipc_key_add_uid yes
255slave{
256pcm "hw:0,0"
257period_time 0
258period_size 2048
259buffer_size 24576
260format S16_LE
261rate 11025
262}
263}
264
265pcm.!dsnoop_8000{
266type dsnoop
267ipc_key 5778293
268ipc_key_add_uid yes
269slave{
270pcm "hw:0,0"
271period_time 0
272period_size 2048
273buffer_size 24576
274format S16_LE
275rate 8000
276}
277}
278
279pcm.asymed{
280type asym
281playback.pcm "dmix_44100"
282capture.pcm "dsnoop_44100"
283}
284
285pcm.dsp0{
286type plug
287slave.pcm "asymed"
288}
289
290pcm.!default{
291type plug
292route_policy "average"
293slave.pcm "asymed"
294}
295
296ctl.mixer0{
297type hw
298card 0
299}
diff --git a/recipes-bsp/alsa-state/alsa-state/mxs/asound.state b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
new file mode 100644
index 0000000..d508cc3
--- /dev/null
+++ b/recipes-bsp/alsa-state/alsa-state/mxs/asound.state
@@ -0,0 +1,191 @@
1state.mxsevk {
2 control.1 {
3 iface MIXER
4 name 'MIC GAIN'
5 value '0dB'
6 comment {
7 access 'read write'
8 type ENUMERATED
9 count 1
10 item.0 '0dB'
11 item.1 '20dB'
12 item.2 '30dB'
13 item.3 '40dB'
14 }
15 }
16 control.2 {
17 iface MIXER
18 name 'Capture Volume'
19 value.0 12
20 value.1 12
21 comment {
22 access 'read write'
23 type INTEGER
24 count 2
25 range '0 - 15'
26 }
27 }
28 control.3 {
29 iface MIXER
30 name 'Capture Vol Reduction'
31 value 'No Change'
32 comment {
33 access 'read write'
34 type ENUMERATED
35 count 1
36 item.0 'No Change'
37 item.1 'Reduced by 6dB'
38 }
39 }
40 control.4 {
41 iface MIXER
42 name 'Playback Volume'
43 value.0 156
44 value.1 156
45 comment {
46 access 'read write'
47 type INTEGER
48 count 2
49 range '0 - 192'
50 }
51 }
52 control.5 {
53 iface MIXER
54 name 'Headphone Volume'
55 value.0 127
56 value.1 127
57 comment {
58 access 'read write'
59 type INTEGER
60 count 2
61 range '0 - 127'
62 }
63 }
64 control.6 {
65 iface MIXER
66 name 'DAC Mux'
67 value DAC
68 comment {
69 access 'read write'
70 type ENUMERATED
71 count 1
72 item.0 DAC
73 item.1 LINE_IN
74 }
75 }
76 control.7 {
77 iface MIXER
78 name 'ADC Mux'
79 value MIC_IN
80 comment {
81 access 'read write'
82 type ENUMERATED
83 count 1
84 item.0 MIC_IN
85 item.1 LINE_IN
86 }
87 }
88}
89state.mxsevk_1 {
90 control.1 {
91 iface MIXER
92 name PRO
93 value false
94 comment {
95 access 'read write'
96 type BOOLEAN
97 count 1
98 }
99 }
100 control.2 {
101 iface MIXER
102 name AUDIO
103 value false
104 comment {
105 access 'read write'
106 type BOOLEAN
107 count 1
108 }
109 }
110 control.3 {
111 iface MIXER
112 name COPY
113 value false
114 comment {
115 access 'read write'
116 type BOOLEAN
117 count 1
118 }
119 }
120 control.4 {
121 iface MIXER
122 name PRE
123 value false
124 comment {
125 access 'read write'
126 type BOOLEAN
127 count 1
128 }
129 }
130 control.5 {
131 iface MIXER
132 name CC
133 value 0
134 comment {
135 access 'read write'
136 type INTEGER
137 count 1
138 range '0 - 127'
139 }
140 }
141 control.6 {
142 iface MIXER
143 name L
144 value false
145 comment {
146 access 'read write'
147 type BOOLEAN
148 count 1
149 }
150 }
151 control.7 {
152 iface MIXER
153 name V
154 value false
155 comment {
156 access 'read write'
157 type BOOLEAN
158 count 1
159 }
160 }
161 control.8 {
162 iface MIXER
163 name 'USER DATA'
164 value false
165 comment {
166 access 'read write'
167 type BOOLEAN
168 count 1
169 }
170 }
171 control.9 {
172 iface MIXER
173 name 'AUTO MUTE'
174 value false
175 comment {
176 access 'read write'
177 type BOOLEAN
178 count 1
179 }
180 }
181 control.10 {
182 iface MIXER
183 name 'V CONFIG'
184 value false
185 comment {
186 access 'read write'
187 type BOOLEAN
188 count 1
189 }
190 }
191}
diff --git a/recipes-bsp/barebox/barebox.inc b/recipes-bsp/barebox/barebox.inc
new file mode 100644
index 0000000..0d5c127
--- /dev/null
+++ b/recipes-bsp/barebox/barebox.inc
@@ -0,0 +1,63 @@
1DESCRIPTION = "Barebox - a bootloader that inherits the best of U-Boot and the Linux kernel"
2HOMEPAGE = "http://www.barebox.org/"
3SECTION = "bootloader"
4PROVIDES = "virtual/bootloader"
5PRIORITY = "optional"
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://COPYING;md5=057bf9e50e1ca857d0eb97bfe4ba8e5d"
8
9PACKAGE_ARCH = "${MACHINE_ARCH}"
10
11inherit kernel-arch
12
13EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
14
15BAREBOX_BINARY ?= "barebox.bin"
16BAREBOX_IMAGE ?= "barebox-${MACHINE}-${PV}-${PR}.bin"
17BAREBOXENV_BIN ?= "bareboxenv-${MACHINE}-${PV}-${PR}.bin"
18BAREBOX_SYMLINK ?= "barebox-${MACHINE}.bin"
19BAREBOXENV_SYMLINK ?= "bareboxenv-${MACHINE}.bin"
20
21INSANE_SKIP_${PN} = "True"
22
23do_pre_configure() {
24 cp ${WORKDIR}/defconfig ${S}/.config
25 oe_runmake oldconfig
26}
27addtask pre_configure before do_configure after do_patch
28
29do_compile () {
30 if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
31 sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' Makefile
32 fi
33 unset LDFLAGS
34 unset CFLAGS
35 unset CPPFLAGS
36 oe_runmake all
37}
38
39do_deploy () {
40 install -d ${DEPLOY_DIR_IMAGE}
41 install ${S}/${BAREBOX_BINARY} ${DEPLOY_DIR_IMAGE}/${BAREBOX_IMAGE}
42
43 cd ${DEPLOY_DIR_IMAGE}
44 rm -f ${BAREBOX_SYMLINK}
45 ln -sf ${BAREBOX_IMAGE} ${BAREBOX_SYMLINK}
46
47 install -d ${STAGING_BINDIR_NATIVE}
48 cd ${S}
49 install -m 755 scripts/mkimage ${STAGING_BINDIR_NATIVE}/
50 install -m 755 scripts/bareboxenv ${STAGING_BINDIR_NATIVE}/
51}
52
53do_deploy[dirs] = "${S}"
54addtask deploy before do_build after do_compile
55
56do_env_deploy() {
57 install ${S}/common/barebox_default_env ${DEPLOY_DIR_IMAGE}/${BAREBOXENV_BIN}
58
59 cd ${DEPLOY_DIR_IMAGE}
60 rm -f ${BAREBOXENV_SYMLINK}
61 ln -sf ${BAREBOXENV_BIN} ${BAREBOXENV_SYMLINK}
62}
63addtask env_deploy before do_build after do_deploy
diff --git a/recipes-bsp/barebox/barebox_2013.08.0.bb b/recipes-bsp/barebox/barebox_2013.08.0.bb
new file mode 100644
index 0000000..e4e3717
--- /dev/null
+++ b/recipes-bsp/barebox/barebox_2013.08.0.bb
@@ -0,0 +1,9 @@
1require recipes-bsp/barebox/barebox.inc
2
3SRC_URI = "http://barebox.org/download/${PN}-${PV}.tar.bz2 \
4 file://defconfig"
5
6SRC_URI[md5sum] = "a61b97a2fedebc808d4b182c2ca18a0c"
7SRC_URI[sha256sum] = "d9e46dd3c68b04ab4cbc37135dc34907dbebef393da4b3e54abb203c295c1620"
8
9COMPATIBLE_MACHINE = "Invalid!"
diff --git a/recipes-bsp/elftosb/elftosb_10.12.01.bb b/recipes-bsp/elftosb/elftosb_10.12.01.bb
new file mode 100644
index 0000000..2cef1f6
--- /dev/null
+++ b/recipes-bsp/elftosb/elftosb_10.12.01.bb
@@ -0,0 +1,22 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "Helper utility for freescale imx platforms"
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://COPYING;md5=172ede34353056ebec7a597d8459f029"
7SECTION = "bootloader"
8PR = "r4"
9BBCLASSEXTEND = "native nativesdk"
10
11SRC_URI = "http://repository.timesys.com/buildsources/e/elftosb/elftosb-${PV}/elftosb-${PV}.tar.gz \
12 file://cross-build.patch \
13 file://don-t-use-full-path-for-headers.patch"
14SRC_URI[md5sum] = "e8005d606c1e0bb3507c82f6eceb3056"
15SRC_URI[sha256sum] = "77bb6981620f7575b87d136d94c7daa88dd09195959cc75fc18b138369ecd42b"
16
17do_install() {
18 install -d ${D}${bindir}
19 install ${S}/bld/linux/elftosb ${D}${bindir}
20 install ${S}/bld/linux/keygen ${D}${bindir}
21 install ${S}/bld/linux/sbtool ${D}${bindir}
22}
diff --git a/recipes-bsp/elftosb/files/cross-build.patch b/recipes-bsp/elftosb/files/cross-build.patch
new file mode 100644
index 0000000..8cffa03
--- /dev/null
+++ b/recipes-bsp/elftosb/files/cross-build.patch
@@ -0,0 +1,50 @@
1--- a/makefile.rules.orig 2012-05-09 21:03:28.000000000 +0200
2+++ b/makefile.rules 2012-05-09 21:03:56.000000000 +0200
3@@ -9,6 +9,8 @@
4 # SRC_DIR needs to be passed in. It is assumed that make is running in
5 # the build directory.
6
7+CC ?= gcc
8+
9 #*******************************************************************************
10 # Environment
11
12@@ -101,7 +103,7 @@
13 keygen.o
14
15
16-LIBS = -lstdc++
17+LIBS ?= -lstdc++ -lm
18
19
20 ifeq ("${UNAMES}", "Linux")
21@@ -137,13 +139,13 @@
22 ${EXEC_FILE_ELFTOSB2} ${EXEC_FILE_SBTOOL} ${EXEC_FILE_KEYGEN}
23
24 elftosb: ${OBJ_FILES_ELFTOSB2}
25- gcc ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
26+ ${CC} ${OBJ_FILES_ELFTOSB2} ${LIBS} -o ${EXEC_FILE_ELFTOSB2}
27
28 sbtool: ${OBJ_FILES_SBTOOL}
29- gcc ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
30+ ${CC} ${OBJ_FILES_SBTOOL} ${LIBS} -o ${EXEC_FILE_SBTOOL}
31
32 keygen: ${OBJ_FILES_KEYGEN}
33- gcc ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
34+ ${CC} ${OBJ_FILES_KEYGEN} ${LIBS} -o ${EXEC_FILE_KEYGEN}
35
36
37 #ifeq ("${UNAMES}", "Linux")
38@@ -153,10 +155,10 @@
39 .SUFFIXES : .c .cpp
40
41 .c.o :
42- gcc ${CFLAGS} -c $<
43+ ${CC} ${CFLAGS} -c $<
44
45 .cpp.o :
46- gcc ${CFLAGS} -c $<
47+ ${CC} ${CFLAGS} -c $<
48
49 #endif
50
diff --git a/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch
new file mode 100644
index 0000000..8996ffb
--- /dev/null
+++ b/recipes-bsp/elftosb/files/don-t-use-full-path-for-headers.patch
@@ -0,0 +1,42 @@
1elftosb: don't use full path for headers
2
3This fixes the building on new host distributions where header might
4move due multilib support and other possible changes in future.
5
6Upstream-Status: Pending
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9---
10 common/stdafx.h | 2 +-
11 stdafx.h | 2 +-
12 2 files changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/common/stdafx.h b/common/stdafx.h
15index e6bf9dd..fb3c2d7 100644
16--- a/common/stdafx.h
17+++ b/common/stdafx.h
18@@ -27,7 +27,7 @@
19 // For Linux systems only, types.h only defines the signed
20 // integer types. This is not professional code.
21 // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
22-#include "/usr/include/sys/types.h"
23+#include <sys/types.h>
24 #include <stdint.h>
25 //typedef unsigned long uint32_t;
26 //typedef unsigned short uint16_t;
27diff --git a/stdafx.h b/stdafx.h
28index ce80458..6ff2f44 100644
29--- a/stdafx.h
30+++ b/stdafx.h
31@@ -27,7 +27,7 @@
32 // For Linux systems only, types.h only defines the signed
33 // integer types. This is not professional code.
34 // Update: They are defined in the header files in the more recent version of redhat enterprise gcc.
35-#include "/usr/include/sys/types.h"
36+#include <sys/types.h>
37 //typedef unsigned long uint32_t;
38 //typedef unsigned short uint16_t;
39 //typedef unsigned char uint8_t;
40--
411.7.2.5
42
diff --git a/recipes-bsp/firmware-imx/firmware-imx.inc b/recipes-bsp/firmware-imx/firmware-imx.inc
new file mode 100644
index 0000000..0f49937
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx.inc
@@ -0,0 +1,47 @@
1SUMMARY = "Freescale IMX firmware"
2DESCRIPTION = "Freescale IMX firmware such as for the VPU"
3SECTION = "base"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://licenses/vpu/EULA;md5=6469a8514eed615d6bf8c09f41846d8f"
6
7PE="1"
8
9SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true"
10
11inherit fsl-eula-unpack
12
13do_install() {
14 install -d ${D}/lib/firmware
15 cp -rfv firmware/* ${D}/lib/firmware/
16 find ${D}/lib/firmware -type f -exec chmod 644 '{}' ';'
17
18 # Remove files not going to be installed
19 find ${D}/lib/firmware/ -name Android.mk -exec rm '{}' ';'
20 rm ${D}/lib/firmware/LICENCE.atheros_firmware \
21 ${D}/lib/firmware/README
22
23 # FIXME: Remove firmware packaged in linux-firmware
24 rm -r ${D}/lib/firmware/ath6k ${D}/lib/firmware/ar3k
25}
26
27python populate_packages_prepend() {
28 vpudir = bb.data.expand('/lib/firmware/vpu', d)
29 do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
30 output_pattern='firmware-imx-vpu-%s',
31 description='Freescale IMX Firmware %s',
32 extra_depends='',
33 prepend=True)
34
35 sdmadir = bb.data.expand('/lib/firmware/sdma', d)
36 do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
37 output_pattern='firmware-imx-sdma-%s',
38 description='Freescale IMX Firmware %s',
39 extra_depends='',
40 prepend=True)
41}
42
43ALLOW_EMPTY_${PN} = "1"
44
45PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"
46
47PACKAGE_ARCH = "${MACHINE_SOCARCH}"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb b/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb
new file mode 100644
index 0000000..d82aac8
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx_3.0.35-4.0.0.bb
@@ -0,0 +1,8 @@
1require firmware-imx.inc
2
3PR = "r5.0"
4
5SRC_URI[md5sum] = "f23ce8437e141c1d20e3bf175eb3af7f"
6SRC_URI[sha256sum] = "5aaf5e91dbec8072fec613218c0fc939d9a59e74df53054f49ab31f1f0dd25d9"
7
8COMPATIBLE_MACHINE = "(mx5|mx6)"
diff --git a/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb b/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..0e95d02
--- /dev/null
+++ b/recipes-bsp/firmware-imx/firmware-imx_3.10.17-1.0.0.bb
@@ -0,0 +1,10 @@
1# Copyright (C) 2012-2014 Freescale Semiconductor
2
3require recipes-bsp/firmware-imx/firmware-imx.inc
4
5PE="1"
6
7SRC_URI[md5sum] = "29a54f6e5bf889a00cd8ca85080af223"
8SRC_URI[sha256sum] = "768d857dfc1bec344fbd95665e450030d5a0d541a695027f6d7815e0309bea37"
9
10COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/formfactor/formfactor/imx51evk/machconfig b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig
new file mode 100644
index 0000000..3dbcc11
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx51evk/machconfig
@@ -0,0 +1,11 @@
1# Display options
2HAVE_TOUCHSCREEN=0
3HAVE_KEYBOARD=1
4
5#DISPLAY_CAN_ROTATE=0
6#DISPLAY_ORIENTATION=0
7#DISPLAY_WIDTH_PIXELS=1024
8#DISPLAY_HEIGHT_PIXELS=720
9#DISPLAY_BPP=16
10#DISPLAY_DPI=150
11#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor/imx53ard/machconfig b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig
new file mode 100644
index 0000000..7f884fe
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx53ard/machconfig
@@ -0,0 +1,13 @@
1# Display options
2HAVE_TOUCHSCREEN=1
3HAVE_KEYBOARD=0
4
5TSLIB_TSDEVICE="/dev/input/touchscreen0"
6
7#DISPLAY_CAN_ROTATE=0
8#DISPLAY_ORIENTATION=0
9#DISPLAY_WIDTH_PIXELS=1024
10#DISPLAY_HEIGHT_PIXELS=720
11#DISPLAY_BPP=16
12#DISPLAY_DPI=150
13#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig
new file mode 100644
index 0000000..3dbcc11
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor/imx53qsb/machconfig
@@ -0,0 +1,11 @@
1# Display options
2HAVE_TOUCHSCREEN=0
3HAVE_KEYBOARD=1
4
5#DISPLAY_CAN_ROTATE=0
6#DISPLAY_ORIENTATION=0
7#DISPLAY_WIDTH_PIXELS=1024
8#DISPLAY_HEIGHT_PIXELS=720
9#DISPLAY_BPP=16
10#DISPLAY_DPI=150
11#DISPLAY_SUBPIXEL_ORDER=vrgb
diff --git a/recipes-bsp/formfactor/formfactor_%.bbappend b/recipes-bsp/formfactor/formfactor_%.bbappend
new file mode 100644
index 0000000..8c77b8d
--- /dev/null
+++ b/recipes-bsp/formfactor/formfactor_%.bbappend
@@ -0,0 +1,2 @@
1# Append path for freescale to include costom matchconfig
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch
new file mode 100644
index 0000000..1deca1c
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/add-command-script-for-barebox.patch
@@ -0,0 +1,46 @@
1imx-bootlets: Add command script for barebox
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
6
7diff --git a/barebox_ivt.bd b/barebox_ivt.bd
8new file mode 100644
9index 0000000..79cbccf
10--- /dev/null
11+++ b/barebox_ivt.bd
12@@ -0,0 +1,34 @@
13+// STMP378x ROM command script to load and run barebox
14+
15+sources {
16+ power_prep="imx-bootlets-power_prep-@MACHINE@";
17+ sdram_prep="imx-bootlets-boot_prep-@MACHINE@";
18+ barebox="barebox-@MACHINE@.bin";
19+}
20+
21+section (0) {
22+
23+ //----------------------------------------------------------
24+ // Power Supply initialization
25+ //----------------------------------------------------------
26+
27+ load power_prep;
28+ load ivt (entry = power_prep:_start) > 0x8000;
29+ hab call 0x8000;
30+
31+ //----------------------------------------------------------
32+ // SDRAM initialization
33+ //----------------------------------------------------------
34+
35+ load sdram_prep;
36+ load ivt (entry = sdram_prep:_start) > 0x8000;
37+ hab call 0x8000;
38+ //----------------------------------------------------------
39+ // Load and call barebox - ELF ARM image
40+ //----------------------------------------------------------
41+
42+ load barebox;
43+ load ivt (entry = barebox:start) > 0x8000;
44+ hab call 0x8000;
45+
46+}
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch
new file mode 100644
index 0000000..d54add1
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux-fix-paths.patch
@@ -0,0 +1,28 @@
1imx-bootlets: Fix paths for used during boot stream generation
2
3This will be run during image generation thus this won't use a
4complete path to allow for relocation.
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9
10diff --git a/linux.bd b/linux.bd
11index 516f4f2..366ac22 100644
12--- a/linux.bd
13+++ b/linux.bd
14@@ -4,10 +4,10 @@
15 flags = 0x01;
16 }
17 sources {
18- power_prep="./power_prep/power_prep";
19- sdram_prep="./boot_prep/boot_prep";
20- linux_prep="./linux_prep/output-target/linux_prep";
21- zImage = "./zImage";
22+ power_prep="imx-bootlets-power_prep-@MACHINE@";
23+ sdram_prep="imx-bootlets-boot_prep-@MACHINE@";
24+ linux_prep="imx-bootlets-linux_prep-@MACHINE@";
25+ zImage="zImage-@MACHINE@.bin@DTB@";
26 }
27
28 section (0) {
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch
new file mode 100644
index 0000000..4fb4c51
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets/linux_prep-fix-cmdlines.patch
@@ -0,0 +1,30 @@
1imx-bootlets: Fix cmdlines for Linux boot
2
3This adapt the cmdlines for the partitioning layout used on the
4generated SD cards.
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9
10diff --git a/linux_prep/cmdlines/iMX28_EVK.txt b/linux_prep/cmdlines/iMX28_EVK.txt
11index 6bc36b9..6cf89a0 100644
12--- a/linux_prep/cmdlines/iMX28_EVK.txt
13+++ b/linux_prep/cmdlines/iMX28_EVK.txt
14@@ -1 +1 @@
15-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait
16+console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait
17diff --git a/linux_prep/cmdlines/stmp378x_dev.txt b/linux_prep/cmdlines/stmp378x_dev.txt
18index 9a717eb..fdb7390 100644
19--- a/linux_prep/cmdlines/stmp378x_dev.txt
20+++ b/linux_prep/cmdlines/stmp378x_dev.txt
21@@ -1,6 +1,3 @@
22-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms430 no_console_suspend
23-console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait lcd_panel=lms350
24-console=ttyAM0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430
25-
26-
27-
28+console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms430 no_console_suspend
29+console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait ssp1=mmc lcd_panel=lms350
30+console=ttyAMA0,115200 ssp1=spi1 ubi.mtd=2 root=ubi0:rootfs0 rootfstype=ubifs lcd_panel=lms430
diff --git a/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb
new file mode 100644
index 0000000..367e83b
--- /dev/null
+++ b/recipes-bsp/imx-bootlets/imx-bootlets_10.12.01.bb
@@ -0,0 +1,79 @@
1DESCRIPTION = "i.MXS boot streams"
2LICENSE = "GPL-2.0"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
4
5PR = "r5"
6
7SRC_URI = "http://download.ossystems.com.br/bsp/freescale/source/imx-bootlets-src-${PV}.tar.gz \
8 file://linux-fix-paths.patch \
9 file://linux_prep-fix-cmdlines.patch \
10 file://add-command-script-for-barebox.patch"
11
12SRC_URI[md5sum] = "cf0ab3822dca694b930a051501c1d0e4"
13SRC_URI[sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc"
14
15S = "${WORKDIR}/imx-bootlets-src-${PV}"
16
17inherit deploy
18
19# Disable parallel building or it may fail to build.
20PARALLEL_MAKE = ""
21
22EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
23
24# Ensure machine defines the IMXBOOTLETS_MACHINE
25python () {
26 if not d.getVar("IMXBOOTLETS_MACHINE", True):
27 PN = d.getVar("PN", True)
28 FILE = os.path.basename(d.getVar("FILE", True))
29 bb.debug(1, "To build %s, see %s for instructions on \
30 setting up your machine config" % (PN, FILE))
31 raise bb.parse.SkipPackage("because IMXBOOTLETS_MACHINE is not set")
32}
33
34do_configure () {
35 # Use machine specific binaries
36 sed 's,@MACHINE@,${MACHINE},g;s,@DTB@,-dtb,g' < linux.bd > linux.bd-dtb
37 sed -i 's,@MACHINE@,${MACHINE},g;s,@DTB@,,g' linux.bd
38 sed -i 's,@MACHINE@,${MACHINE},g' barebox_ivt.bd
39}
40
41do_compile () {
42 oe_runmake BOARD=${IMXBOOTLETS_MACHINE} linux_prep \
43 boot_prep \
44 power_prep \
45 'CC=${TARGET_PREFIX}gcc --sysroot="${STAGING_DIR_TARGET}"' \
46 'LD=${TARGET_PREFIX}ld --sysroot="${STAGING_DIR_TARGET}"'
47}
48
49do_install () {
50 install -d ${D}/boot/
51 install -m 644 boot_prep/boot_prep power_prep/power_prep \
52 linux_prep/output-target/linux_prep \
53 linux.bd linux.bd-dtb \
54 barebox_ivt.bd \
55 ${D}/boot
56}
57
58FILES_${PN} = "/boot"
59
60do_deploy () {
61 install -d ${DEPLOYDIR}
62
63 for f in boot_prep/boot_prep \
64 power_prep/power_prep \
65 linux_prep/output-target/linux_prep \
66 barebox_ivt.bd \
67 linux.bd linux.bd-dtb; do
68 full_name="imx-bootlets-`basename $f`-${MACHINE}-${PV}-${PR}"
69 symlink_name="imx-bootlets-`basename $f`-${MACHINE}"
70
71 install -m 644 ${S}/$f ${DEPLOYDIR}/$full_name
72 (cd ${DEPLOYDIR} ; rm -f $symlink_name ; ln -sf $full_name $symlink_name)
73 done
74}
75
76addtask deploy before do_build after do_compile
77
78PACKAGE_ARCH = "${MACHINE_ARCH}"
79COMPATIBLE_MACHINE = "(mxs)"
diff --git a/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb b/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..68a30ac
--- /dev/null
+++ b/recipes-bsp/imx-kobs/imx-kobs_3.10.17-1.0.0.bb
@@ -0,0 +1,13 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3SUMMARY = "Nand boot write source"
4SECTION = "base"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
7
8SRC_URI = "${FSL_MIRROR}/imx-kobs-${PV}.tar.gz"
9
10SRC_URI[md5sum] = "df477a6ce9abfa3077fa1a7bb97942e1"
11SRC_URI[sha256sum] = "9458bac13a8e58e3d13cb2861d2b3d2cffd990e675c919c65548b71b6dda2776"
12
13inherit autotools pkgconfig
diff --git a/recipes-bsp/imx-lib/imx-lib.inc b/recipes-bsp/imx-lib/imx-lib.inc
new file mode 100644
index 0000000..243eb88
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib.inc
@@ -0,0 +1,28 @@
1# Copyright (C) 2012-2013 Freescale Semiconductor
2
3DESCRIPTION = "Platform specific libraries for imx platform"
4LICENSE = "LGPLv2.1"
5SECTION = "multimedia"
6DEPENDS = "virtual/kernel"
7
8LIC_FILES_CHKSUM = "file://ipu/mxc_ipu_hl_lib.h;endline=13;md5=6c7486b21a8524b1879fa159578da31e"
9
10PLATFORM_mx6 = "IMX6Q"
11PLATFORM_mx5 = "IMX51"
12
13PARALLEL_MAKE="-j 1"
14EXTRA_OEMAKE = ""
15
16SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz"
17
18do_compile () {
19 INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include \
20 -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \
21 -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include"
22
23 oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
24}
25
26do_install () {
27 oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
28}
diff --git a/recipes-bsp/imx-lib/imx-lib_11.09.02.bb b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb
new file mode 100644
index 0000000..07c6e35
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib_11.09.02.bb
@@ -0,0 +1,8 @@
1# Copyright (C) 2013 Freescale Semiconductor
2require imx-lib.inc
3
4SRC_URI = "${FSL_MIRROR}/imx-lib-${PV}.tar.gz"
5SRC_URI[md5sum] = "a4e7447e35cfac0b966a51f001390d6e"
6SRC_URI[sha256sum] = "3ed082005789db0c9c41e14073417319f4e23f5646a7d21f34840470f4328bd5"
7
8COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb b/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..93f5482
--- /dev/null
+++ b/recipes-bsp/imx-lib/imx-lib_3.10.17-1.0.0.bb
@@ -0,0 +1,10 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3include imx-lib.inc
4
5PE = "1"
6
7SRC_URI[md5sum] = "8e3346d5f33b5aa5f915a0dd8aa99cc9"
8SRC_URI[sha256sum] = "f42605971977e5fe1ed9e7ce17ea3f97586a23fbc60fa0f679940d379c72303e"
9
10COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb b/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..b326b08
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test-hdcp_3.10.17-1.0.0.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Test programs for IMX BSP"
2DESCRIPTION = "Linux HDCP test application for imx6 platform"
3SECTION = "base"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6"
6
7SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
8
9SRC_URI[md5sum] = "7289f732beac67c50a1857d86e43c6eb"
10SRC_URI[sha256sum] = "a64075953103da6a06714bdacb3bfa43845c2bd304d1cd00b5443d3edf02d904"
11
12INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
13
14inherit fsl-eula-unpack
15
16do_install() {
17 install -d ${D}/unit_tests
18 install -m 755 ${S}/*.out ${D}/unit_tests/
19}
20
21FILES_${PN} += "/unit_tests"
22
23COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/imx-test/imx-test.inc b/recipes-bsp/imx-test/imx-test.inc
new file mode 100644
index 0000000..94dbdc3
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test.inc
@@ -0,0 +1,58 @@
1SUMMARY = "Test programs for IMX BSP"
2DESCRIPTION = "Unit tests for the IMX BSP"
3SECTION = "base"
4DEPENDS_mx5 = "virtual/kernel imx-lib imx-vpu"
5DEPENDS_mx6q = "virtual/kernel imx-lib imx-vpu"
6DEPENDS_mx6dl = "virtual/kernel imx-lib imx-vpu"
7DEPENDS_mx6sl = "virtual/kernel imx-lib"
8DEPENDS_mxs = "virtual/kernel"
9
10LICENSE = "GPLv2"
11LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
12
13PE = "1"
14
15PLATFORM_mx6 = "IMX6Q"
16PLATFORM_mx6sl = "IMX6S"
17PLATFORM_mx53 = "IMX53"
18PLATFORM_mx51 = "IMX51"
19
20SRC_URI = "${FSL_MIRROR}/imx-test-${PV}.tar.gz"
21
22inherit module-base
23
24INHIBIT_PACKAGE_STRIP = "1"
25INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
26
27INCLUDE_DIR="-I${STAGING_INCDIR} \
28 -I${S}/include \
29 -I${STAGING_KERNEL_DIR}/include/uapi \
30 -I${STAGING_KERNEL_DIR}/include \
31 -I${STAGING_KERNEL_DIR}/arch/arm/include \
32 -I${STAGING_KERNEL_DIR}/drivers/mxc/security/rng/include \
33 -I${STAGING_KERNEL_DIR}/drivers/mxc/security/sahara2/include"
34
35# Required so the fixdep binary is generated
36addtask make_scripts after do_patch before do_compile
37do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
38do_make_scripts[deptask] = "do_populate_sysroot"
39
40do_compile() {
41 LDFLAGS="" make PLATFORM=${PLATFORM} LINUXPATH=${STAGING_KERNEL_DIR} \
42 KBUILD_OUTPUT=${STAGING_KERNEL_DIR} CROSS_COMPILE=${TARGET_PREFIX} V=1 \
43 INC="${INCLUDE_DIR}"
44}
45
46do_install() {
47 install -d ${D}/unit_tests
48 install -m 755 test-utils.sh ${D}/unit_tests/test-utils.sh
49 install -m 755 ${S}/platform/${PLATFORM}/* ${D}/unit_tests/
50 if [ -e ${WORKDIR}/clocks.sh ]; then
51 install -m 755 ${WORKDIR}/clocks.sh ${D}/unit_tests/clocks.sh
52 fi
53}
54
55FILES_${PN} += "/unit_tests"
56RDEPENDS_${PN} = "bash"
57
58FILES_${PN}-dbg += "/unit_tests/.debug"
diff --git a/recipes-bsp/imx-test/imx-test/clocks.sh b/recipes-bsp/imx-test/imx-test/clocks.sh
new file mode 100755
index 0000000..2121bef
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/clocks.sh
@@ -0,0 +1,29 @@
1#!/bin/bash
2
3# This script is taken directly from the section 5.10 of the Freescale Application Note
4# AN4509 and it simple prints the CPU clocks in a nice format
5
6saved_path=$PWD
7if ! mount|grep -sq '/sys/kernel/debug'; then
8 mount -t debugfs none /sys/kernel/debug
9fi
10
11printf "%-24s %-20s %3s %9s\n" "clock" "parent" "use" "flags" "rate"
12
13for foo in $(find /sys/kernel/debug/clock -type d); do
14 if [ "$foo" = '/sys/kernel/debug/clock' ]; then
15 continue
16 fi
17 cd $foo
18 ec="$(cat usecount)"
19 rate="$(cat rate)"
20 flag="$(cat flags)"
21 clk="$(basename $foo)"
22 cd ..
23 parent="$(basename $PWD)"
24 if [ "$parent" = 'clock' ]; then
25 parent=" ---"
26 fi
27 printf "%-24s %-24s %2d %2d %10d\n" "$clk" "$parent" "$ec" "$flag" "$rate"
28 cd $saved_path
29done
diff --git a/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch
new file mode 100644
index 0000000..4fb0564
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test/revert_epdc_hdr_change.patch
@@ -0,0 +1,30 @@
1From e559eb0a9573b9011c03efaf42364dce67af893a Mon Sep 17 00:00:00 2001
2From: Lauren Post <lauren.post@freescale.com>
3Date: Tue, 10 Sep 2013 10:58:28 -0500
4Subject: [PATCH] ENGR00279068-2 epdc_test_driver: Update header name change
5 of mxc_epdc.h
6
7Upstream-Status: Pending
8
9Signed-off-by: Lauren Post <lauren.post@freescale.com>
10Signed-off-by: Frank Li <Frank.li@freescale.com>
11---
12 module_test/epdc_test_driver.c | 4 ++--
13 1 file changed, 1 insertions(+), 1 deletions(-)
14
15diff --git a/module_test/epdc_test_driver.c b/module_test/epdc_test_driver.c
16index fb15aec..447246f 100644
17--- a/module_test/epdc_test_driver.c
18+++ b/module_test/epdc_test_driver.c
19@@ -36,7 +36,7 @@
20
21 #include <linux/device.h>
22 #include <linux/mxcfb.h>
23-#include <linux/mxcfb_epdc.h>
24+#include <linux/mxcfb_epdc_kernel.h>
25
26 /* major number of device */
27 static int gMajor;
28--
291.7.9.5
30
diff --git a/recipes-bsp/imx-test/imx-test_00.00.00.bb b/recipes-bsp/imx-test/imx-test_00.00.00.bb
new file mode 100644
index 0000000..1f6a275
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test_00.00.00.bb
@@ -0,0 +1,9 @@
1SUMMARY = "Dummy package for SoCs lacking imx-test package"
2DESCRIPTION = "Dummy package for SoCs lacking imx-test package"
3SECTION = "base"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
6
7inherit allarch
8
9ALLOW_EMPTY_${PN} = "1"
diff --git a/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb b/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..77b51c7
--- /dev/null
+++ b/recipes-bsp/imx-test/imx-test_3.10.17-1.0.0.bb
@@ -0,0 +1,13 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3include imx-test.inc
4
5SRC_URI_append_mx5 = " file://revert_epdc_hdr_change.patch \
6 file://clocks.sh"
7SRC_URI_append_mxs = " file://revert_epdc_hdr_change.patch \
8 file://clocks.sh"
9
10SRC_URI[md5sum] = "3e066a84878b93ee52e54a040a7b2b61"
11SRC_URI[sha256sum] = "21bedcbd707e392d8558ec5a73095ca15b4c95ab66deabb06876aaf3f8dac2c4"
12
13COMPATIBLE_MACHINE = "(mxs|mx5|mx6)"
diff --git a/recipes-bsp/imx-uuc/imx-uuc_0.5.bb b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb
new file mode 100644
index 0000000..b172b32
--- /dev/null
+++ b/recipes-bsp/imx-uuc/imx-uuc_0.5.bb
@@ -0,0 +1,16 @@
1# Copyright (C) 2014 Freescale Semiconductor
2# Copyright (C) 2014 O.S. Systems Software LTDA.
3
4SUMMARY = "Universal Adapter source"
5SECTION = "base"
6DEPENDS = "virtual/kernel"
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
9
10SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz"
11SRC_URI[md5sum] = "4a82f106f85199c91a058ee54c127477"
12SRC_URI[sha256sum] = "ec5894ab7967797c8500b4988d0aba6c6f78ef22b4a190f9db12be33df08faaf"
13
14inherit autotools-brokensep
15
16FILES_${PN} += "/linuxrc"
diff --git a/recipes-bsp/imx-vpu/imx-vpu.inc b/recipes-bsp/imx-vpu/imx-vpu.inc
new file mode 100644
index 0000000..fd59770
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu.inc
@@ -0,0 +1,22 @@
1# Copyright (C) 2013 Freescale Semiconductor
2DESCRIPTION = "Freescale VPU library"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://vpu/EULA.txt;md5=b063366b066c9f10037c59756a9ced54"
5DEPENDS = "virtual/kernel"
6inherit fsl-eula-unpack
7
8PLATFORM_mx5 = "IMX51"
9PLATFORM_mx6 = "IMX6Q"
10
11SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
12
13do_compile () {
14 INCLUDE_DIR="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"
15
16 oe_runmake CROSS_COMPILE="${HOST_PREFIX}" PLATFORM="${PLATFORM}" INCLUDE="${INCLUDE_DIR}" all
17}
18
19do_install () {
20 oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
21}
22
diff --git a/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch
new file mode 100644
index 0000000..348a536
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch
@@ -0,0 +1,83 @@
1From 3f3e374391ddc5e605f604e5bcdf95e29b1bcc39 Mon Sep 17 00:00:00 2001
2From: Eric Nelson <eric.nelson@boundarydevices.com>
3Date: Fri, 20 Jun 2014 19:42:38 -0700
4Subject: [PATCH] IOGetVirtMem returns -1 (MAP_FAILED) on failure
5
6Upstream-Status: Pending
7
8Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
9---
10 vpu/vpu_io.c | 2 +-
11 vpu/vpu_io.h | 2 ++
12 vpu/vpu_lib.c | 8 ++++----
13 3 files changed, 7 insertions(+), 5 deletions(-)
14
15diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c
16index 8cbb571..14759da 100644
17--- a/vpu/vpu_io.c
18+++ b/vpu/vpu_io.c
19@@ -265,7 +265,7 @@ int IOSystemInit(void *callback)
20 goto err;
21 }
22
23- if (IOGetVirtMem(&bit_work_addr) <= 0)
24+ if (IOGetVirtMem(&bit_work_addr) == -1)
25 goto err;
26 #endif
27 UnlockVpu(vpu_semap);
28diff --git a/vpu/vpu_io.h b/vpu/vpu_io.h
29index 392e04a..1e6340d 100644
30--- a/vpu/vpu_io.h
31+++ b/vpu/vpu_io.h
32@@ -64,6 +64,8 @@ int IOSystemInit(void *callback);
33 int IOSystemShutdown(void);
34 int IOGetPhyMem(vpu_mem_desc * buff);
35 int IOFreePhyMem(vpu_mem_desc * buff);
36+
37+/* returns -1 ((int)MAP_FAILED) on failure */
38 int IOGetVirtMem(vpu_mem_desc * buff);
39 int IOFreeVirtMem(vpu_mem_desc * buff);
40 int IOGetVShareMem(int size);
41diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c
42index 1fb731b..7a7f42d 100644
43--- a/vpu/vpu_lib.c
44+++ b/vpu/vpu_lib.c
45@@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param)
46 err_msg("Unable to obtain physical mem\n");
47 return RETCODE_FAILURE;
48 }
49- if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) {
50+ if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) {
51 IOFreePhyMem(&pEncInfo->picParaBaseMem);
52 pEncInfo->picParaBaseMem.phy_addr = 0;
53 err_msg("Unable to obtain virtual mem\n");
54@@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info)
55 UnlockVpu(vpu_semap);
56 return RETCODE_FAILURE;
57 }
58- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) {
59+ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) {
60 IOFreePhyMem(&pDecInfo->userDataBufMem);
61 pDecInfo->userDataBufMem.phy_addr = 0;
62 err_msg("Unable to obtain virtual mem\n");
63@@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param)
64 UnlockVpu(vpu_semap);
65 return RETCODE_FAILURE;
66 }
67- if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) {
68+ if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) {
69 IOFreePhyMem(&pDecInfo->picParaBaseMem);
70 pDecInfo->picParaBaseMem.phy_addr = 0;
71 err_msg("Unable to obtain virtual mem\n");
72@@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param)
73 UnlockVpu(vpu_semap);
74 return RETCODE_FAILURE;
75 }
76- if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) {
77+ if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) {
78 IOFreePhyMem(&pDecInfo->userDataBufMem);
79 pDecInfo->userDataBufMem.phy_addr = 0;
80 err_msg("Unable to obtain virtual mem\n");
81--
821.9.1
83
diff --git a/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb
new file mode 100644
index 0000000..c40c703
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu_11.09.02.bb
@@ -0,0 +1,7 @@
1# Copyright (C) 2013 Freescale Semiconductor
2require imx-vpu.inc
3
4SRC_URI[md5sum] = "1988a08687a09ef8590e66ff17ac6ed3"
5SRC_URI[sha256sum] = "783f136aa9b9257d4bffbdaf05bdcb85d177c544c3f8a4674421ba7b065ed5c0"
6
7COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb b/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..7ed9590
--- /dev/null
+++ b/recipes-bsp/imx-vpu/imx-vpu_3.10.17-1.0.0.bb
@@ -0,0 +1,12 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3require imx-vpu.inc
4
5PE = "1"
6
7SRC_URI[md5sum] = "71ea1b803864101ebf88a1bab45514d2"
8SRC_URI[sha256sum] = "cd8a7bd50ff3274db76a331cc6622d3ba4bb7c790ce778f303e49187df2dfd72"
9
10SRC_URI_append = " file://0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch"
11
12COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/libmcc/libmcc_1.04.bb b/recipes-bsp/libmcc/libmcc_1.04.bb
new file mode 100644
index 0000000..35efd45
--- /dev/null
+++ b/recipes-bsp/libmcc/libmcc_1.04.bb
@@ -0,0 +1,21 @@
1# Copyright (C) 2013 Timesys Corporation
2SUMMARY = "Multicore communication Library"
3LICENSE = "GPL-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
5
6DEPENDS = "kernel-module-mcc"
7
8inherit autotools
9
10SRC_URI = "http://repository.timesys.com/buildsources/l/libmcc/libmcc-${PV}/libmcc-${PV}.tar.bz2"
11
12SRC_URI[md5sum] = "e93ce76b4419f0902a848e1769bf22ea"
13SRC_URI[sha256sum] = "3de76c5b1a096021afebfc79ca4e85d05646beb3101edcecf73b82886e7a00c0"
14
15S = "${WORKDIR}/libmcc-${PV}"
16
17CFLAGS += "-I${STAGING_KERNEL_DIR}/include"
18
19RDEPENDS_${PN} = "kernel-module-mcc"
20
21COMPATIBLE_MACHINE = "(vf60)"
diff --git a/recipes-bsp/mqxboot/mqxboot_1.0.bb b/recipes-bsp/mqxboot/mqxboot_1.0.bb
new file mode 100644
index 0000000..1293928
--- /dev/null
+++ b/recipes-bsp/mqxboot/mqxboot_1.0.bb
@@ -0,0 +1,21 @@
1# Copyright (C) 2013 Timesys Corporation
2SUMMARY = "MQX Image loader - starts an MQX image on the M4"
3LICENSE = "GPL-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=c49712341497d0b5f2e40c30dff2af9d"
5
6DEPENDS = "kernel-module-mcc"
7
8inherit autotools
9
10SRC_URI = "http://repository.timesys.com/buildsources/m/mqxboot/mqxboot-${PV}/mqxboot-${PV}.tar.bz2"
11
12SRC_URI[md5sum] = "3de3c8b5f8cd6664870587d29c04c421"
13SRC_URI[sha256sum] = "c2f66ae962fe2529578d5c007e3f91a36085b714a0ea276f47bc3aea90e69699"
14
15S = "${WORKDIR}/mqxboot-${PV}"
16
17CFLAGS += "-I${STAGING_KERNEL_DIR}/include"
18
19RDEPENDS_${PN} = "kernel-module-mcc"
20
21COMPATIBLE_MACHINE = "(vf60)"
diff --git a/recipes-bsp/mxsldr/mxsldr_git.bb b/recipes-bsp/mxsldr/mxsldr_git.bb
new file mode 100644
index 0000000..497f6a1
--- /dev/null
+++ b/recipes-bsp/mxsldr/mxsldr_git.bb
@@ -0,0 +1,18 @@
1# Copyright (C) 2012 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "Freescale i.MX233/i.MX28 USB loader"
5DEPENDS = "libusb"
6LICENSE = "GPLv2+"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
8
9SRCREV = "c40d80472525e1d57dae5317c028b745968c0399"
10SRC_URI = "git://git.denx.de/mxsldr.git"
11
12PV = "0.0.0+git${SRCPV}"
13
14S = "${WORKDIR}/git"
15
16inherit autotools-brokensep
17
18BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb
new file mode 100644
index 0000000..298f1c0
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc-mxsboot_2014.01.bb
@@ -0,0 +1,28 @@
1DESCRIPTION = "U-boot bootloader mxsboot tool"
2LICENSE = "GPLv2+"
3LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
4SECTION = "bootloader"
5DEPENDS = "openssl"
6PROVIDES = "u-boot-mxsboot"
7
8PV = "v2014.01"
9
10SRCREV = "f5d80303de12e6fefc022426a73136a288f70294"
11SRCBRANCH = "patches-2014.01"
12SRC_URI = "git://github.com/Freescale/u-boot-imx.git;branch=${SRCBRANCH}"
13
14S = "${WORKDIR}/git"
15
16EXTRA_OEMAKE = 'HOSTCC="${CC} ${CPPFLAGS}" HOSTLDFLAGS="-L${libdir} -L${base_libdir}" HOSTSTRIP=true CONFIG_MX28=y'
17
18do_compile () {
19 oe_runmake tools
20}
21
22do_install () {
23 install -d ${D}${bindir}
24 install -m 0755 tools/mxsboot ${D}${bindir}/uboot-mxsboot
25 ln -sf uboot-mxsboot ${D}${bindir}/mxsboot
26}
27
28BBCLASSEXTEND = "native nativesdk"
diff --git a/recipes-bsp/u-boot/u-boot-fslc.inc b/recipes-bsp/u-boot/u-boot-fslc.inc
new file mode 100644
index 0000000..4ed19d6
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc.inc
@@ -0,0 +1,29 @@
1# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require recipes-bsp/u-boot/u-boot.inc
5
6DESCRIPTION = "U-boot bootloader for Freescale ARM platforms"
7LICENSE = "GPLv2+"
8LIC_FILES_CHKSUM = "file://Licenses/README;md5=025bf9f768cbcb1a165dbe1a110babfb"
9COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6|vf60)"
10
11DEPENDS_mxs += "elftosb-native openssl-native"
12
13PROVIDES += "u-boot"
14
15SRCBRANCH ??= "master"
16
17SRC_URI = "git://github.com/Freescale/u-boot-imx.git;branch=${SRCBRANCH}"
18
19S = "${WORKDIR}/git"
20
21# FIXME: Allow linking of 'tools' binaries with native libraries
22# used for generating the boot logo and other tools used
23# during the build process.
24EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CPPFLAGS}" \
25 HOSTLDFLAGS="${BUILD_LDFLAGS}" \
26 HOSTSTRIP=true'
27
28PACKAGE_ARCH = "${MACHINE_ARCH}"
29
diff --git a/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb b/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb
new file mode 100644
index 0000000..f6d4657
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-fslc_2014.01.bb
@@ -0,0 +1,7 @@
1include u-boot-fslc.inc
2
3PV = "v2014.01"
4
5SRCBRANCH = "patches-2014.01"
6
7SRCREV = "f5d80303de12e6fefc022426a73136a288f70294"
diff --git a/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb
new file mode 100644
index 0000000..f66114c
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx-mfgtool_2013.04.bb
@@ -0,0 +1,4 @@
1# Copyright (C) 2014 O.S. Systems Software LTDA.
2
3require u-boot-imx_${PV}.bb
4require u-boot-mfgtool.inc
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch
new file mode 100644
index 0000000..4b0ac9b
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx53_loco_bootenv.patch
@@ -0,0 +1,51 @@
1diff --git a/include/configs/mx53_loco.h b/include/configs/mx53_loco.h
2index 0f57f78..e8a6414 100644
3--- a/include/configs/mx53_loco.h
4+++ b/include/configs/mx53_loco.h
5@@ -114,22 +114,30 @@
6 #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
7
8 #define CONFIG_EXTRA_ENV_SETTINGS \
9- "netdev=eth0\0" \
10- "ethprime=FEC0\0" \
11- "uboot=u-boot.bin\0" \
12- "kernel=uImage\0" \
13- "nfsroot=/opt/eldk/arm\0" \
14- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
15- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
16- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
17- "bootcmd_net=run bootargs_base bootargs_nfs; " \
18- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
19- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
20- "root=/dev/mmcblk0p1 rootwait rw\0" \
21- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
22- "mmc dev 0; " \
23- "mmc read ${loadaddr} 0x800 0x1800; bootm\0" \
24- "bootcmd=run bootcmd_mmc\0" \
25+ "script=boot.scr\0" \
26+ "uimage=uImage\0" \
27+ "mmcdev=0\0" \
28+ "mmcpart=1\0" \
29+ "mmcroot=/dev/mmcblk0p2 rw\0" \
30+ "mmcrootfstype=ext3 rootwait\0" \
31+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
32+ "root=${mmcroot} " \
33+ "rootfstype=${mmcrootfstype}\0" \
34+ "loadbootscript=" \
35+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
36+ "bootscript=echo Running bootscript from mmc ...; " \
37+ "source\0" \
38+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
39+ "mmcboot=echo Booting from mmc ...; " \
40+ "run mmcargs; " \
41+ "bootm\0" \
42+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
43+ "root=/dev/nfs " \
44+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
45+ "netboot=echo Booting from net ...; " \
46+ "run netargs; " \
47+ "dhcp ${uimage}; bootm\0" \
48+ "bootcmd=run loaduimage; run mmcboot;\0" \
49 \
50
51
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch
new file mode 100644
index 0000000..da4a771
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6dl_sabresd-Change-default-environment-to-work-wit.patch
@@ -0,0 +1,67 @@
1From 7ae3e4c665bd27111ee8ae2b801251b1d32f44cc Mon Sep 17 00:00:00 2001
2From: Daiane Angolini <daiane.angolini@freescale.com>
3Date: Wed, 20 Mar 2013 03:57:54 -0500
4Subject: [PATCH] mx6dl_sabresd: Change default environment to work with OE
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
9---
10 include/configs/mx6dl_sabresd.h | 41 ++++++++++++++++++++++----------------
11 1 files changed, 24 insertions(+), 17 deletions(-)
12
13diff --git a/include/configs/mx6dl_sabresd.h b/include/configs/mx6dl_sabresd.h
14index a496453..6499d25 100644
15--- a/include/configs/mx6dl_sabresd.h
16+++ b/include/configs/mx6dl_sabresd.h
17@@ -121,23 +121,30 @@
18 #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
19
20 #define CONFIG_EXTRA_ENV_SETTINGS \
21- "netdev=eth0\0" \
22- "ethprime=FEC0\0" \
23- "uboot=u-boot.bin\0" \
24- "kernel=uImage\0" \
25- "nfsroot=/opt/eldk/arm\0" \
26- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
27- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
28- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
29- "bootcmd_net=run bootargs_base bootargs_nfs; " \
30- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
31- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
32- "root=/dev/mmcblk0p1 rootwait\0" \
33- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
34- "mmc dev 3; " \
35- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
36- "bootcmd=run bootcmd_net\0" \
37-
38+ "script=boot.scr\0" \
39+ "uimage=uImage\0" \
40+ "mmcdev=2\0" \
41+ "mmcpart=1\0" \
42+ "mmcroot=/dev/mmcblk1p2 rw\0" \
43+ "mmcrootfstype=ext3 rootwait\0" \
44+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
45+ "root=${mmcroot} " \
46+ "rootfstype=${mmcrootfstype}\0" \
47+ "loadbootscript=" \
48+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
49+ "bootscript=echo Running bootscript from mmc ...; " \
50+ "source\0" \
51+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
52+ "mmcboot=echo Booting from mmc ...; " \
53+ "run mmcargs; " \
54+ "bootm\0" \
55+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
56+ "root=/dev/nfs " \
57+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
58+ "netboot=echo Booting from net ...; " \
59+ "run netargs; " \
60+ "dhcp ${uimage}; bootm\0" \
61+ "bootcmd=run loaduimage; run mmcboot;\0" \
62
63 #define CONFIG_ARP_TIMEOUT 200UL
64
65--
661.7.5.4
67
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch
new file mode 100644
index 0000000..80ef444
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch
@@ -0,0 +1,66 @@
1From a81c7686f8c0c4fc6e88228f215092c00d4714c1 Mon Sep 17 00:00:00 2001
2From: Daiane Angolini <daiane.angolini@freescale.com>
3Date: Tue, 30 Oct 2012 07:47:59 -0500
4Subject: [PATCH] mx6q_sabreauto: Fix the patch for the default environment
5 variable
6
7Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
8---
9 include/configs/mx6q_sabreauto.h | 41 ++++++++++++++++++++++---------------
10 1 files changed, 24 insertions(+), 17 deletions(-)
11
12diff --git a/include/configs/mx6q_sabreauto.h b/include/configs/mx6q_sabreauto.h
13index 5f8f02c..5910eca 100644
14--- a/include/configs/mx6q_sabreauto.h
15+++ b/include/configs/mx6q_sabreauto.h
16@@ -121,23 +121,30 @@
17 #define CONFIG_RD_LOADADDR (CONFIG_LOADADDR + 0x300000)
18
19 #define CONFIG_EXTRA_ENV_SETTINGS \
20- "netdev=eth0\0" \
21- "ethprime=FEC0\0" \
22- "uboot=u-boot.bin\0" \
23- "kernel=uImage\0" \
24- "nfsroot=/opt/eldk/arm\0" \
25- "bootargs_base=setenv bootargs console=ttymxc3,115200\0"\
26- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
27- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
28- "bootcmd_net=run bootargs_base bootargs_nfs; " \
29- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
30- "bootargs_mmc=setenv bootargs ${bootargs} " \
31- "root=/dev/mmcblk0p1 rootwait\0" \
32- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
33- "mmc dev 2; " \
34- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
35- "bootcmd=run bootcmd_mmc\0" \
36-
37+ "script=boot.scr\0" \
38+ "uimage=uImage\0" \
39+ "mmcdev=2\0" \
40+ "mmcpart=1\0" \
41+ "mmcroot=/dev/mmcblk0p2 rw\0" \
42+ "mmcrootfstype=ext3 rootwait\0" \
43+ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
44+ "root=${mmcroot} " \
45+ "rootfstype=${mmcrootfstype}\0" \
46+ "loadbootscript=" \
47+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
48+ "bootscript=echo Running bootscript from mmc ...; " \
49+ "source\0" \
50+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
51+ "mmcboot=echo Booting from mmc ...; " \
52+ "run mmcargs; " \
53+ "bootm\0" \
54+ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
55+ "root=/dev/nfs " \
56+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
57+ "netboot=echo Booting from net ...; " \
58+ "run netargs; " \
59+ "dhcp ${uimage}; bootm\0" \
60+ "bootcmd=run loaduimage; run mmcboot;\0" \
61
62 #define CONFIG_ARP_TIMEOUT 200UL
63
64--
651.7.5.4
66
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch
new file mode 100644
index 0000000..bf85800
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6q_sabresd-Change-default-environment-to-work-with.patch
@@ -0,0 +1,66 @@
1From 970f04b228a60c805cce41ef8403ba2c8cb56d97 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Wed, 13 Feb 2013 15:15:28 -0200
4Subject: [PATCH] mx6q_sabresd: Change default environment to work with OE
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
9---
10 include/configs/mx6q_sabresd.h | 40 ++++++++++++++++++++++++----------------
11 1 file changed, 24 insertions(+), 16 deletions(-)
12
13diff --git a/include/configs/mx6q_sabresd.h b/include/configs/mx6q_sabresd.h
14index 6f07961..db31a34 100644
15--- a/include/configs/mx6q_sabresd.h
16+++ b/include/configs/mx6q_sabresd.h
17@@ -116,22 +116,30 @@
18 #define CONFIG_RD_LOADADDR (0x1300000)
19
20 #define CONFIG_EXTRA_ENV_SETTINGS \
21- "netdev=eth0\0" \
22- "ethprime=FEC0\0" \
23- "uboot=u-boot.bin\0" \
24- "kernel=uImage\0" \
25- "nfsroot=/opt/eldk/arm\0" \
26- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
27- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
28- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
29- "bootcmd_net=run bootargs_base bootargs_nfs; " \
30- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
31- "bootargs_mmc=setenv bootargs ${bootargs} ip=dhcp " \
32- "root=/dev/mmcblk0p1 rootwait\0" \
33- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
34- "mmc dev 3; " \
35- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
36- "bootcmd=run bootcmd_net\0" \
37+ "script=boot.scr\0" \
38+ "uimage=uImage\0" \
39+ "mmcdev=2\0" \
40+ "mmcpart=1\0" \
41+ "mmcroot=/dev/mmcblk0p2 rw\0" \
42+ "mmcrootfstype=ext3 rootwait\0" \
43+ "mmcargs=setenv bootargs console=ttymxc3,${baudrate} " \
44+ "root=${mmcroot} " \
45+ "rootfstype=${mmcrootfstype}\0" \
46+ "loadbootscript=" \
47+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
48+ "bootscript=echo Running bootscript from mmc ...; " \
49+ "source\0" \
50+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
51+ "mmcboot=echo Booting from mmc ...; " \
52+ "run mmcargs; " \
53+ "bootm\0" \
54+ "netargs=setenv bootargs console=ttymxc3,${baudrate} " \
55+ "root=/dev/nfs " \
56+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
57+ "netboot=echo Booting from net ...; " \
58+ "run netargs; " \
59+ "dhcp ${uimage}; bootm\0" \
60+ "bootcmd=run loaduimage; run mmcboot;\0" \
61
62
63 #define CONFIG_ARP_TIMEOUT 200UL
64--
651.8.1
66
diff --git a/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch
new file mode 100644
index 0000000..5d3f868
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx/mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch
@@ -0,0 +1,67 @@
1From bf99fdddbca321f7e74ed82febbe4b5539e3ac66 Mon Sep 17 00:00:00 2001
2From: Daiane Angolini <daiane.angolini@freescale.com>
3Date: Thu, 14 Mar 2013 16:35:35 -0300
4Subject: [PATCH] mx6sl_evk: Change the patch for the default environment
5 variable
6
7Upstream-Status: Pending
8
9Signed-off-by: Daiane Angolini <daiane.angolini@freescale.com>
10---
11 include/configs/mx6sl_evk.h | 40 ++++++++++++++++++++++++----------------
12 1 file changed, 24 insertions(+), 16 deletions(-)
13
14diff --git a/include/configs/mx6sl_evk.h b/include/configs/mx6sl_evk.h
15index 4c327bc..dfb6374 100644
16--- a/include/configs/mx6sl_evk.h
17+++ b/include/configs/mx6sl_evk.h
18@@ -122,22 +122,30 @@
19 #define CONFIG_RD_LOADADDR 0x81000000
20
21 #define CONFIG_EXTRA_ENV_SETTINGS \
22- "netdev=eth0\0" \
23- "ethprime=FEC0\0" \
24- "uboot=u-boot.bin\0" \
25- "kernel=uImage\0" \
26- "nfsroot=/opt/eldk/arm\0" \
27- "bootargs_base=setenv bootargs console=ttymxc0,115200\0"\
28- "bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
29- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
30- "bootcmd_net=run bootargs_base bootargs_nfs; " \
31- "tftpboot ${loadaddr} ${kernel}; bootm\0" \
32- "bootargs_mmc=setenv bootargs ${bootargs} " \
33- "root=/dev/mmcblk0p1 rootwait\0" \
34- "bootcmd_mmc=run bootargs_base bootargs_mmc; " \
35- "mmc dev 1; " \
36- "mmc read ${loadaddr} 0x800 0x2000; bootm\0" \
37- "bootcmd=run bootcmd_mmc\0" \
38+ "script=boot.scr\0" \
39+ "uimage=uImage\0" \
40+ "mmcdev=1\0" \
41+ "mmcpart=1\0" \
42+ "mmcroot=/dev/mmcblk0p2 rw\0" \
43+ "mmcrootfstype=ext3 rootwait\0" \
44+ "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \
45+ "root=${mmcroot} " \
46+ "rootfstype=${mmcrootfstype}\0" \
47+ "loadbootscript=" \
48+ "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
49+ "bootscript=echo Running bootscript from mmc ...; " \
50+ "source\0" \
51+ "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
52+ "mmcboot=echo Booting from mmc ...; " \
53+ "run mmcargs; " \
54+ "bootm\0" \
55+ "netargs=setenv bootargs console=ttymxc0,${baudrate} " \
56+ "root=/dev/nfs " \
57+ "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
58+ "netboot=echo Booting from net ...; " \
59+ "run netargs; " \
60+ "dhcp ${uimage}; bootm\0" \
61+ "bootcmd=run loaduimage; run mmcboot;\0" \
62
63
64 #define CONFIG_ARP_TIMEOUT 200UL
65--
661.7.10.4
67
diff --git a/recipes-bsp/u-boot/u-boot-imx_2009.08.bb b/recipes-bsp/u-boot/u-boot-imx_2009.08.bb
new file mode 100644
index 0000000..393e7f3
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx_2009.08.bb
@@ -0,0 +1,65 @@
1# Copyright (C) 2011-2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "bootloader for imx platforms"
5require recipes-bsp/u-boot/u-boot.inc
6
7PROVIDES += "u-boot"
8
9LICENSE = "GPLv2+"
10LIC_FILES_CHKSUM = "file://COPYING;md5=4c6cde5df68eff615d36789dc18edd3b"
11
12DEPENDS_mxs += "elftosb-native"
13
14PR = "r18"
15
16SRCBRANCH_mxs = "imx_v2009.08_10.12.01"
17SRCREV_mxs = "e4437f1c192a1a68028e6fcff3f50ff50352041d"
18
19SRCBRANCH_mx5 = "imx_v2009.08_11.09.01"
20SRCREV_mx5 = "897922d01c812be802e4a928b937535ea1b8e076"
21SRC_URI_append_imx5 = " \
22 file://mx53_loco_bootenv.patch \
23"
24
25SRCBRANCH_mx6 = "imx_v2009.08_3.0.35_4.0.0"
26SRCREV_mx6 = "5899674bf39544bec47e209649a723cf7348d3ba"
27SRC_URI_append_mx6 = " \
28 file://mx6q_sabreauto-Fix-the-patch-for-the-default-environ.patch \
29 file://mx6q_sabresd-Change-default-environment-to-work-with.patch \
30 file://mx6sl_evk-Fix-the-patch-for-the-default-environment-.patch \
31 file://mx6dl_sabresd-Change-default-environment-to-work-wit.patch \
32"
33
34SRC_URI = "git://git.freescale.com/imx/uboot-imx.git;branch=${SRCBRANCH}"
35
36UBOOT_MACHINE_imx53qsb = "mx53_loco_config"
37UBOOT_MACHINE_imx53ard = "mx53_ard_ddr3_config"
38UBOOT_MACHINE_imx51evk = "mx51_bbg_config"
39UBOOT_MACHINE_imx6qsabrelite = "mx6q_sabrelite_config"
40UBOOT_MACHINE_imx6qsabreauto = "mx6q_sabreauto_config"
41UBOOT_MACHINE_imx6qsabresd = "mx6q_sabresd_config"
42UBOOT_MACHINE_imx6dlsabresd = "mx6dl_sabresd_config"
43UBOOT_MACHINE_imx6slevk = "mx6sl_evk_config"
44UBOOT_MACHINE_imx28evk = "mx28_evk_config"
45
46UBOOT_MAKE_TARGET = "u-boot.bin"
47
48# Please, add the following variables to conf/local.conf
49# in order to use this u-boot version
50# UBOOT_SUFFIX = "bin"
51# UBOOT_PADDING = "2"
52# PREFERRED_PROVIDER_u-boot = "u-boot-imx"
53
54S = "${WORKDIR}/git"
55EXTRA_OEMAKE += 'HOSTSTRIP=true'
56
57PACKAGE_ARCH = "${MACHINE_ARCH}"
58
59do_compile_prepend() {
60 if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
61 sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' config.mk
62 fi
63}
64
65COMPATIBLE_MACHINE = "(imx28evk|mx5|mx6)"
diff --git a/recipes-bsp/u-boot/u-boot-imx_2013.04.bb b/recipes-bsp/u-boot/u-boot-imx_2013.04.bb
new file mode 100644
index 0000000..1c0f828
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-imx_2013.04.bb
@@ -0,0 +1,18 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3DESCRIPTION = "bootloader for imx platforms"
4require recipes-bsp/u-boot/u-boot.inc
5
6PROVIDES += "u-boot"
7
8LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
10
11SRCBRANCH = "imx_v2013.04_3.10.17_1.0.0_ga"
12SRC_URI = "git://git.freescale.com/imx/uboot-imx.git;protocol=git;branch=${SRCBRANCH}"
13SRCREV = "ce0ea2507c492d43bbf88f8609482a171b2d2003"
14
15S = "${WORKDIR}/git"
16
17PACKAGE_ARCH = "${MACHINE_ARCH}"
18COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-bsp/u-boot/u-boot-mfgtool.inc b/recipes-bsp/u-boot/u-boot-mfgtool.inc
new file mode 100644
index 0000000..91526ad
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-mfgtool.inc
@@ -0,0 +1,21 @@
1# Produces a Manufacturing Tool compatible U-Boot
2#
3# This makes a separated binary set for Manufacturing Tool use
4# without clobbering the U-Boot used for normal use.
5#
6# This file must to be included after the original u-boot.inc file,
7# as it overrides the need values.
8#
9# Copyright (C) 2014 O.S. Systems Software LTDA.
10
11# Adjust provides
12PROVIDES = "u-boot-mfgtool"
13
14# Use 'mfgtool' config
15UBOOT_CONFIG = "mfgtool"
16
17# Add 'mfgtool' suffix
18UBOOT_IMAGE = "u-boot-${MACHINE}-mfgtool-${PV}-${PR}.${UBOOT_SUFFIX}"
19UBOOT_SYMLINK = "u-boot-${MACHINE}-mfgtool.${UBOOT_SUFFIX}"
20SPL_IMAGE = "${SPL_BINARY}-${MACHINE}-mfgtool-${PV}-${PR}"
21SPL_SYMLINK = "${SPL_BINARY}-mfgtool-${MACHINE}"
diff --git a/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 0000000..3e8fa2f
--- /dev/null
+++ b/recipes-core/packagegroup/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1,4 @@
1RDEPENDS_${PN} += " \
2 nativesdk-elftosb \
3 nativesdk-mxsldr \
4"
diff --git a/recipes-core/udev/udev-extraconf/10-imx.rules b/recipes-core/udev/udev-extraconf/10-imx.rules
new file mode 100644
index 0000000..1fc32dc
--- /dev/null
+++ b/recipes-core/udev/udev-extraconf/10-imx.rules
@@ -0,0 +1,24 @@
1# Create symlinks for i.mx keypads and touchscreens
2#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mxckpd", SYMLINK+="input/keyboard0"
3#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mxc_ts", SYMLINK+="input/ts0"
4#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="imx_adc_ts", SYMLINK+="input/ts0"
5#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="mpr084", SYMLINK+="input/keyboard0"
6#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name}=="tsc2007", SYMLINK+="input/ts0"
7#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="STMP3XXX touchscreen", SYMLINK+="input/ts0"
8#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="MXS touchscreen", SYMLINK+="input/ts0"
9#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="HannStar P1003 Touchscreen", SYMLINK+="input/ts0"
10#SUBSYSTEM=="input" KERNEL=="event*" ATTRS{name} =="eGalax Touch Screen", SYMLINK+="input/ts0"
11
12# The long class name gets cut off to be mc13783_connectiv in
13# /sys/class/mc13783_connectivity/mc13783_connectivit
14KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
15# Anyone has readonly permission to IIM device file
16KERNEL=="mxc_iim", MODE="0444", SYMLINK+="mxc_mem"
17KERNEL=="mxs_viim", MODE="0444", SYMLINK+="mxc_mem"
18KERNEL=="mxc_ipu", MODE="0666"
19KERNEL=="fb0", MODE="0666"
20KERNEL=="fb1", MODE="0666"
21KERNEL=="fb2", MODE="0666"
22KERNEL=="mxc_vpu", MODE="0666"
23SUBSYSTEM=="video", MODE="0666"
24KERNEL=="gsl_kmod", MODE="0666"
diff --git a/recipes-core/udev/udev-extraconf_%.bbappend b/recipes-core/udev/udev-extraconf_%.bbappend
new file mode 100644
index 0000000..f73e4bc
--- /dev/null
+++ b/recipes-core/udev/udev-extraconf_%.bbappend
@@ -0,0 +1,17 @@
1# Freescale imx extra configuration udev rules
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
3
4SRC_URI_append_mxs = " file://10-imx.rules"
5SRC_URI_append_mx5 = " file://10-imx.rules"
6SRC_URI_append_mx6 = " file://10-imx.rules"
7
8do_install_prepend () {
9 if [ -e "${WORKDIR}/10-imx.rules" ]; then
10 install -d ${D}${sysconfdir}/udev/rules.d
11 install -m 0644 ${WORKDIR}/10-imx.rules ${D}${sysconfdir}/udev/rules.d
12 fi
13}
14
15PACKAGE_ARCH_mxs = "${MACHINE_ARCH}"
16PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
17PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
diff --git a/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb b/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
new file mode 100644
index 0000000..7d79d1e
--- /dev/null
+++ b/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
@@ -0,0 +1,8 @@
1# Copyright (C) 2014 O.S. Systems Software LTDA.
2
3DESCRIPTION = "Small image to be used with Manufacturing Tool \
4(mfg-tool) in a production environment."
5
6LICENSE = "MIT"
7
8inherit mfgtool-initramfs-image
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
new file mode 100644
index 0000000..92f882d
--- /dev/null
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-mfgtool.bb
@@ -0,0 +1,47 @@
1# Copyright (C) 2014 O.S. Systems Software LTDA.
2
3SUMMARY = "Freescale Manufacturing Tool requirements"
4LICENSE = "MIT"
5
6inherit packagegroup
7
8PACKAGES = " \
9 ${PN}-base \
10 ${PN}-mtd \
11 ${PN}-extfs \
12"
13
14# The essential packages for device bootup that may be set in the
15# machine configuration file.
16MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
17
18# Distro can override the following VIRTUAL-RUNTIME providers:
19VIRTUAL-RUNTIME_keymaps ?= "keymaps"
20
21RDEPENDS_${PN}-base = " \
22 bash \
23 imx-uuc \
24 util-linux \
25 coreutils \
26 dosfstools \
27 mmc-utils \
28 base-files \
29 base-passwd \
30 busybox \
31 ${@base_contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \
32 ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
33"
34
35RDEPENDS_${PN}-mtd = " \
36 ${PN}-base \
37 imx-kobs \
38 mtd-utils \
39 mtd-utils-ubifs \
40"
41
42RDEPENDS_${PN}-extfs = " \
43 ${PN}-base \
44 e2fsprogs-mke2fs \
45"
46
47PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
new file mode 100644
index 0000000..ecf38f2
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
@@ -0,0 +1,13 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "GPU driver and apps for frambuffer on mx51"
5
6include amd-gpu-mx51.inc
7
8SRC_URI[md5sum] = "9f9b5f67b595721a08793aae8bd8fc46"
9SRC_URI[sha256sum] = "f0db68a764b5fb199729e7435f606b8d12b61ca97990336c647b7e81f4a584d9"
10
11RCONFLICTS_${PN} = "amd-gpu-x11-bin-mx51"
12
13COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
new file mode 100644
index 0000000..02a4f21
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
@@ -0,0 +1,90 @@
1# Copyright (C) 2011, 2012, 2013 Freescale
2# Copyright (C) 2011-2014 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5LICENSE = "Proprietary"
6SECTION = "libs"
7
8# FIXME: Replace for correct AMD license
9LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
10
11PROVIDES = "virtual/egl virtual/libgles1 virtual/libgles2"
12
13SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
14 file://egl.pc \
15 file://glesv2.pc \
16 file://fix-linux-build-check.patch"
17
18inherit fsl-eula-unpack
19
20# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
21# the source we cannot fix it. Disable the insane check for now.
22python populate_packages_prepend() {
23 for p in d.getVar('PACKAGES', True).split():
24 d.setVar("INSANE_SKIP_%s" % p, "ldflags")
25}
26
27do_install () {
28 install -d ${D}${libdir}
29 install -d ${D}${bindir}
30 install -d ${D}${includedir}
31
32 cp -axr ${S}/usr/bin/* ${D}${bindir}
33 cp -axf ${S}/usr/lib/* ${D}${libdir}
34 cp -axr ${S}/usr/include/* ${D}${includedir}
35
36 find ${D}${bindir} -type f -exec chmod 755 {} \;
37 find ${D}${libdir} -type f -exec chmod 644 {} \;
38 find ${D}${includedir} -type f -exec chmod 644 {} \;
39
40 # FIXME: Fix sonames of broken libraries
41 mv ${D}${libdir}/lib2dz160.so ${D}${libdir}/lib2dz160.so.0
42 mv ${D}${libdir}/lib2dz430.so ${D}${libdir}/lib2dz430.so.0
43 ln -sf lib2dz160.so.0 ${D}${libdir}/lib2dz160.so
44 ln -sf lib2dz430.so.0 ${D}${libdir}/lib2dz430.so
45
46 # FIXME: Remove unkown files
47 rm -r ${D}${libdir}/libcsi.a \
48 ${D}${libdir}/libres.a
49
50 # FIXME: Add pkgconfig files
51 install -d ${D}${libdir}/pkgconfig
52 install -m 644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig
53 install -m 644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig
54}
55
56PACKAGES =+ "libgsl-fsl-mx51 libgsl-fsl-mx51-dev libgsl-fsl-mx51-dbg \
57 libegl-mx51 libegl-mx51-dev libegl-mx51-dbg \
58 libgles-mx51 libgles-mx51-dev libgles-mx51-dbg \
59 libgles2-mx51 libgles2-mx51-dev libgles2-mx51-dbg \
60 libopenvg-mx51 libopenvg-mx51-dev libopenvg-mx51-dbg \
61 lib2dz160-mx51 lib2dz160-mx51-dbg \
62 lib2dz430-mx51 lib2dz430-mx51-dbg"
63
64FILES_${PN}-dbg = "${bindir}/.debug/*"
65
66FILES_libgsl-fsl-mx51 = "${libdir}/libgsl-fsl${SOLIBS}"
67FILES_libgsl-fsl-mx51-dev = "${libdir}/libgsl-fsl${SOLIBSDEV}"
68FILES_libgsl-fsl-mx51-dbg = "${libdir}/.debug/libgsl-fsl${SOLIBS}"
69
70FILES_libegl-mx51 = "${libdir}/libEGL${SOLIBS}"
71FILES_libegl-mx51-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/libEGL${SOLIBSDEV}"
72FILES_libegl-mx51-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
73
74FILES_libgles-mx51 = "${libdir}/libGLESv1*${SOLIBS}"
75FILES_libgles-mx51-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBSDEV}"
76FILES_libgles-mx51-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS}"
77
78FILES_libgles2-mx51 = "${libdir}/libGLESv2${SOLIBS}"
79FILES_libgles2-mx51-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV}"
80FILES_libgles2-mx51-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
81
82FILES_libopenvg-mx51 = "${libdir}/libOpenVG${SOLIBS}"
83FILES_libopenvg-mx51-dev = "${includedir}/VG ${libdir}/libOpenVG${SOLIBSDEV}"
84FILES_libopenvg-mx51-dbg = "${libdir}/.debug/libOpenVG${SOLIBS}"
85
86FILES_lib2dz160-mx51 = "${libdir}/lib2dz160${SOLIBS}"
87FILES_lib2dz160-mx51-dbg = "${libdir}/.debug/lib2dz160${SOLIBS}"
88
89FILES_lib2dz430-mx51 = "${libdir}/lib2dz430${SOLIBS}"
90FILES_lib2dz430-mx51-dbg = "${libdir}/.debug/lib2dz430${SOLIBS}"
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
new file mode 100644
index 0000000..6358aca
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
@@ -0,0 +1,18 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "GPU driver and apps for x11 on mx51"
5PR = "r12"
6
7# FIXME: Replace for correct AMD license
8LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
9DEPENDS = "virtual/libx11 libxrender"
10
11include amd-gpu-mx51.inc
12
13SRC_URI[md5sum] = "54391a4e670b597d06d01253fb217cad"
14SRC_URI[sha256sum] = "c7a6fa03b7aa2a375556c59908876554ba720c1e744baba2debb84a408f790db"
15
16RCONFLICTS_${PN} = "amd-gpu-bin-mx51"
17
18COMPATIBLE_MACHINE = "${@base_contains('DISTRO_FEATURES', 'x11', '(mx5)', 'Invalid!', d)}"
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/egl.pc b/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
new file mode 100644
index 0000000..3d2ab5d
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
@@ -0,0 +1,11 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: AMD EGL library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Cflags: -I${includedir}
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch b/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
new file mode 100644
index 0000000..946bfac
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
@@ -0,0 +1,54 @@
1diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h
2--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h 2012-08-18 12:43:19.431788396 -0300
3+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h 2012-08-18 12:43:50.799909873 -0300
4@@ -164,11 +164,11 @@
5 * nanoseconds (unadjusted standard time). Here, it is defined as
6 * appropriate for an ISO C compiler.
7 */
8-#ifndef _LINUX
9+#ifndef __linux__
10 typedef uint64_t EGLTimeKHR;
11-#else // _LINUX
12+#else // __linux__
13 typedef unsigned long long EGLTimeKHR;
14-#endif // _LINUX
15+#endif // __linux__
16
17 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0xFFF8
18 #define EGL_SYNC_STATUS_KHR 0xFFF7
19diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h
20--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h 2012-08-18 12:43:19.431788396 -0300
21+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h 2012-08-18 12:43:50.759785714 -0300
22@@ -65,7 +65,7 @@
23 } eglYUVInfo;
24 #endif
25
26-#ifdef _LINUX
27+#ifdef __linux__
28 struct EGLImageInfoFSL
29 {
30 void *mem_virt[3]; //virtual addresses for Y/U/V planes
31diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h
32--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h 2012-08-18 12:43:19.431788396 -0300
33+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h 2012-08-18 12:43:50.799909873 -0300
34@@ -15,7 +15,7 @@
35 extern "C" {
36 #endif
37
38-#ifndef _LINUX
39+#ifndef __linux__
40 #include <VG/openvg.h>
41 #else
42 #include "openvg.h"
43diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h
44--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h 2012-08-18 12:43:19.431788396 -0300
45+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h 2012-08-18 12:43:50.799909873 -0300
46@@ -449,7 +449,7 @@
47 # endif
48 # elif defined(__APPLE__)
49 # define VG_API_CALL extern
50-# elif defined(_LINUX)
51+# elif defined(__linux__)
52 # if defined (OPENVG_DLL_EXPORTS)
53 # define VG_API_CALL extern
54 # else
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc b/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
new file mode 100644
index 0000000..62e1cb6
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
@@ -0,0 +1,11 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: AMD OpenGL ES 2.0 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL
11Cflags: -I${includedir}
diff --git a/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
new file mode 100644
index 0000000..1ff762a
--- /dev/null
+++ b/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
@@ -0,0 +1,33 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "AMD libz160 gpu driver"
5LICENSE = "Proprietary"
6SECTION = "libs"
7PR = "r2"
8
9#todo: Replace for correct AMD license
10LIC_FILES_CHKSUM = "file://usr/include/z160.h;endline=28;md5=65dd44cd769091092f38e34cd52cc271"
11
12SRC_URI = "${FSL_MIRROR}/libz160-bin-${PV}.bin;fsl-eula=true"
13SRC_URI[md5sum] = "9a9c2c93f4b44e89316772d348eead7d"
14SRC_URI[sha256sum] = "08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19"
15
16inherit fsl-eula-unpack
17
18do_install () {
19 install -d ${D}${libdir}
20 install -d ${D}${includedir}
21 install -m 0755 ${S}/usr/lib/* ${D}${libdir}
22 install -m 0644 ${S}/usr/include/* ${D}${includedir}
23}
24
25S = "${WORKDIR}/${PN}-bin-${PV}"
26
27# Avoid QA Issue: No GNU_HASH in the elf binary
28INSANE_SKIP_${PN} = "ldflags"
29INSANE_SKIP_${PN}-dev = "ldflags"
30FILES_${PN} = "${libdir}/*.so"
31FILES_${PN}-dev = "${includedir}"
32
33COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-graphics/cairo/cairo_%.bbappend b/recipes-graphics/cairo/cairo_%.bbappend
new file mode 100644
index 0000000..bd960e0
--- /dev/null
+++ b/recipes-graphics/cairo/cairo_%.bbappend
@@ -0,0 +1,11 @@
1CFLAGS_append_mx6 = " -DLINUX \
2 ${@base_contains('DISTRO_FEATURES', 'x11', '', \
3 base_contains('DISTRO_FEATURES', 'wayland', \
4 '-DEGL_API_FB -DEGL_API_WL', \
5 base_contains('DISTRO_FEATURES', 'directfb', \
6 '-DEGL_API_DFB', '-DEGL_API_FB', d),d),d)}"
7
8
9PACKAGECONFIG_class-target_mx6 = " \
10 egl glesv2 \
11 ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
diff --git a/recipes-graphics/clutter/clutter-1.0_%.bbappend b/recipes-graphics/clutter/clutter-1.0_%.bbappend
new file mode 100644
index 0000000..cdeac1f
--- /dev/null
+++ b/recipes-graphics/clutter/clutter-1.0_%.bbappend
@@ -0,0 +1,9 @@
1# Provide the need flags and backend settings to work with Vivante GPU
2CFLAGS_append_mx6 = " -DLINUX \
3 ${@base_contains('DISTRO_FEATURES', 'x11', '', \
4 base_contains('DISTRO_FEATURES', 'wayland', \
5 '-DEGL_API_WL -DEGL_API_FB', '', d), d)}"
6
7PACKAGECONFIG_mx6 ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'glx x11', \
8 base_contains('DISTRO_FEATURES', 'wayland', \
9 'wayland egl', '', d), d)}"
diff --git a/recipes-graphics/cogl/cogl-1.0_%.bbappend b/recipes-graphics/cogl/cogl-1.0_%.bbappend
new file mode 100644
index 0000000..f77581d
--- /dev/null
+++ b/recipes-graphics/cogl/cogl-1.0_%.bbappend
@@ -0,0 +1,10 @@
1# Provide the need flags and backend settings to work with Vivante GPU
2CFLAGS_append_mx6 = " -DLINUX \
3 ${@base_contains('DISTRO_FEATURES', 'x11', '', \
4 base_contains('DISTRO_FEATURES', 'wayland', \
5 '-DEGL_API_WL -DEGL_API_FB', '', d), d)}"
6
7PACKAGECONFIG_mx6 ??= "cogl-pango gles2 \
8 ${@base_contains('DISTRO_FEATURES', 'x11', 'egl-x11', \
9 base_contains('DISTRO_FEATURES', 'wayland', \
10 'egl-wayland', '', d), d)}"
diff --git a/recipes-graphics/directfb/directfb-examples_1.6.0.bb b/recipes-graphics/directfb/directfb-examples_1.6.0.bb
new file mode 100644
index 0000000..499060b
--- /dev/null
+++ b/recipes-graphics/directfb/directfb-examples_1.6.0.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Example DirectFB applications"
2DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \
3 applications that can be used to test and demonstrate various DirectFB \
4 features"
5DEPENDS = "directfb"
6SECTION = "libs"
7LICENSE = "MIT"
8
9SRC_URI = " \
10 http://www.directfb.org/downloads/Extras/DirectFB-examples-${PV}.tar.gz \
11 "
12
13LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
14
15S = "${WORKDIR}/DirectFB-examples-${PV}"
16
17inherit autotools
18
19SRC_URI[md5sum] = "27619d31e8a647fdd3023a0c1779b63d"
20SRC_URI[sha256sum] = "b08293697c211b690856f76a25ad7acd4ca458b4132851e0a1e471d0bf23c821"
diff --git a/recipes-graphics/directfb/directfb.inc b/recipes-graphics/directfb/directfb.inc
new file mode 100644
index 0000000..a23209f
--- /dev/null
+++ b/recipes-graphics/directfb/directfb.inc
@@ -0,0 +1,73 @@
1SUMMARY = "Graphics abstraction library for the Linux Framebuffer Device"
2DESCRIPTION = "DirectFB is a thin library that provides developers \
3with hardware graphics acceleration, input device handling and \
4abstraction, an integrated windowing system with support for \
5translucent windows and multiple display layers on top of the \
6Linux framebuffer device."
7SECTION = "libs"
8LICENSE = "LGPLv2.1"
9LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
10
11HOMEPAGE = "http://directfb.org"
12DEPENDS = "jpeg libpng freetype zlib tslib"
13
14INC_PR = "r0"
15
16SRC_URI = "http://directfb.org/downloads/Core/DirectFB-1.6/DirectFB-${PV}.tar.gz \
17 file://configurefix.patch \
18 file://fusion.patch"
19
20S = "${WORKDIR}/DirectFB-${PV}"
21
22LDFLAGS_append =" -lts -lm"
23
24inherit autotools binconfig pkgconfig
25
26PACKAGECONFIG ??= ""
27PACKAGECONFIG[jpeg2000] = "--enable-jpeg2000,--disable-jpeg2000,jasper"
28
29EXTRA_OECONF = "\
30 --with-gfxdrivers=none \
31 --enable-libmpeg3=no \
32 --enable-freetype=yes \
33 --enable-sdl=no \
34 --enable-vnc=no \
35 --disable-x11 \
36 --disable-mesa \
37"
38
39#Once -fno-omit-frame-pointer option of gcc is added into TARGET_CLFAGS as default
40#this will cause directfb build failure on x86 arch, so filter out it.
41TARGET_CFLAGS_x86 := "${@oe_filter_out('-fno-omit-frame-pointer', '${TARGET_CFLAGS}', d)}"
42
43#PACKAGES_DYNAMIC += "^directfb-inputdrivers-.*"
44#
45#python populate_packages_prepend () {
46# inputdrivers_libdir = d.expand('${libdir}/directfb-${RV}/inputdrivers')
47# do_split_packages(d, inputdrivers_libdir, '*.so$', 'directfb-inputdrivers-%s', 'Directfb plugin for %s')
48#}
49
50# NOTE: monolithic packaging for now, should improve that eventually
51
52
53
54FILES_${PN}-dbg += "\
55 ${libdir}/directfb-${RV}/*/*/.debug/*.so \
56 ${libdir}/directfb-${RV}/*/.debug/*.so \
57"
58
59FILES_${PN}-dev += "\
60 ${bindir}/directfb-config \
61 ${libdir}/directfb-${RV}/systems/*.la \
62 ${libdir}/directfb-${RV}/inputdrivers/*.la \
63 ${libdir}/directfb-${RV}/interfaces/*/*.la \
64 ${libdir}/directfb-${RV}/wm/*.la \
65"
66
67FILES_${PN} += "\
68 ${libdir}/directfb-${RV}/systems/*.so \
69 ${libdir}/directfb-${RV}/inputdrivers/*.so \
70 ${libdir}/directfb-${RV}/interfaces/*/*.so \
71 ${libdir}/directfb-${RV}/wm/*.so \
72 ${datadir}/directfb-${PV} \
73"
diff --git a/recipes-graphics/directfb/directfb/configurefix.patch b/recipes-graphics/directfb/directfb/configurefix.patch
new file mode 100644
index 0000000..dd8c019
--- /dev/null
+++ b/recipes-graphics/directfb/directfb/configurefix.patch
@@ -0,0 +1,60 @@
1Libtool needs these set correctly else we end up with pointless rpaths
2such as the QA warnings:
3
4WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/libWARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib
5WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib
6WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib
7WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib
8WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib
9WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib
10WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
11WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib
12WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
13WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib
14WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib
15WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib
16WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib
17WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib
18WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib
19WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib
20WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib
21WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib
22WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib
23WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib
24WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib
25WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib
26WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib
27WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib
28WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib
29WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib
30WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib
31WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib
32WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib
33WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib
34WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib
35WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib
36WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib
37WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib
38
39Upstream-Status: Pending
40
41RP 2012/03/16
42
43Index: DirectFB-1.4.15/configure.in
44===================================================================
45--- DirectFB-1.4.15.orig/configure.in 2012-03-16 13:32:23.692402879 +0000
46+++ DirectFB-1.4.15/configure.in 2012-03-16 13:33:22.312400960 +0000
47@@ -97,13 +97,6 @@
48 AC_CHECK_SIZEOF(long long)
49 AC_CHECK_FUNCS(fork)
50
51-
52-## Work around libstuhl during cross build...
53-if test "$host" != "$build"; then
54- sys_lib_dlsearch_path_spec=""
55- sys_lib_search_path_spec=""
56-fi
57-
58 AC_PATH_PROGS(PERL, perl5 perl)
59
60 AC_PATH_PROG(MAN2HTML, man2html, no)
diff --git a/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch b/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch
new file mode 100644
index 0000000..8b99b4e
--- /dev/null
+++ b/recipes-graphics/directfb/directfb/fix-compilation-with-zlib.patch
@@ -0,0 +1,29 @@
1Upstream-Status: Pending
2
3From 1d6d597050fc24769e9df2693f754bdc824a8b78 Mon Sep 17 00:00:00 2001
4From: Laurentiu Palcu <laurentiu.palcu@intel.com>
5Date: Tue, 3 Jul 2012 16:06:10 +0300
6Subject: [PATCH] fix compilation with zlib
7
8Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
9---
10 src/core/surface.c | 3 +++
11 1 file changed, 3 insertions(+)
12
13diff --git a/src/core/surface.c b/src/core/surface.c
14index 50434a2..52f50ab 100644
15--- a/src/core/surface.c
16+++ b/src/core/surface.c
17@@ -49,6 +49,9 @@
18 #include <gfx/convert.h>
19 #include <gfx/util.h>
20
21+#ifdef USE_ZLIB
22+#include <zlib.h>
23+#endif
24
25 D_DEBUG_DOMAIN( Core_Surface, "Core/Surface", "DirectFB Core Surface" );
26
27--
281.7.9.5
29
diff --git a/recipes-graphics/directfb/directfb/fixsepbuild.patch b/recipes-graphics/directfb/directfb/fixsepbuild.patch
new file mode 100644
index 0000000..94a9ba5
--- /dev/null
+++ b/recipes-graphics/directfb/directfb/fixsepbuild.patch
@@ -0,0 +1,19 @@
1Fix out of tree builds
2
3Upstream-Status: Pending
4
5RP 2013/03/21
6
7Index: DirectFB-1.6.1/configure.in
8===================================================================
9--- DirectFB-1.6.1.orig/configure.in 2013-03-19 01:38:28.174004720 +0000
10+++ DirectFB-1.6.1/configure.in 2013-03-21 12:18:10.253113675 +0000
11@@ -111,7 +111,7 @@
12 AC_PATH_TOOL(FLUXCOMP, fluxcomp)
13 AC_SUBST(FLUXCOMP)
14 if test -z "$FLUXCOMP"; then
15- if ! test -e src/core/CoreDFB.cpp; then
16+ if ! test -e $srcdir/src/core/CoreDFB.cpp; then
17 AC_MSG_ERROR([
18 *** DirectFB compilation requires fluxcomp ***
19
diff --git a/recipes-graphics/directfb/directfb/fusion.patch b/recipes-graphics/directfb/directfb/fusion.patch
new file mode 100644
index 0000000..1f81a67
--- /dev/null
+++ b/recipes-graphics/directfb/directfb/fusion.patch
@@ -0,0 +1,36 @@
1directfb: Fix for hangs in direct_test, fusion_skirmish on exit
2
3Upstream-Status: Pending
4Signed-off-by: Lauren Post <lauren.post@freescale.com>
5
6--- a/lib/fusion/fusion.c 2013-01-18 22:57:11.000000000 +0800
7+++ b/lib/fusion/fusion.c 2013-07-04 10:42:56.502699119 +0800
8@@ -2853,9 +2853,14 @@
9 direct_mutex_lock( &world->event_dispatcher_mutex );
10
11 while (1) {
12- if (!world->event_dispatcher_buffers)
13+ if (!world->event_dispatcher_buffers){
14 direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
15-
16+ if (world->dispatch_stop) {
17+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
18+ direct_mutex_unlock( &world->event_dispatcher_mutex );
19+ return NULL;
20+ }
21+ }
22 buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
23 D_MAGIC_ASSERT( buf, FusionEventDispatcherBuffer );
24
25@@ -2872,6 +2877,11 @@
26 //D_INFO("waiting...\n");
27 D_ASSERT( buf->read_pos == buf->write_pos );
28 direct_waitqueue_wait( &world->event_dispatcher_cond, &world->event_dispatcher_mutex );
29+ if (world->dispatch_stop) {
30+ D_DEBUG_AT( Fusion_Main_Dispatch, " -> IGNORING (dispatch_stop!)\n" );
31+ direct_mutex_unlock( &world->event_dispatcher_mutex );
32+ return NULL;
33+ }
34 }
35
36 buf = (FusionEventDispatcherBuffer *)world->event_dispatcher_buffers;
diff --git a/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch b/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch
new file mode 100644
index 0000000..443df5a
--- /dev/null
+++ b/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch
@@ -0,0 +1,345 @@
1Rename __no_instrument_function__ macro to avoid conficting redefinitions
2of the same symbol.
3
4Upstream-Status: Pending
5Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
6
7Index: DirectFB-1.6.1/lib/direct/clock.c
8===================================================================
9--- DirectFB-1.6.1.orig/lib/direct/clock.c 2012-06-29 19:01:11.000000000 +0300
10+++ DirectFB-1.6.1/lib/direct/clock.c 2013-01-05 18:03:24.000000000 +0200
11@@ -36,28 +36,28 @@
12
13 /**********************************************************************************************************************/
14
15-__no_instrument_function__
16+__dfb_no_instrument_function__
17 long long
18 direct_clock_get_micros( void )
19 {
20 return direct_clock_get_time( DIRECT_CLOCK_SESSION );
21 }
22
23-__no_instrument_function__
24+__dfb_no_instrument_function__
25 long long
26 direct_clock_get_millis( void )
27 {
28 return direct_clock_get_time( DIRECT_CLOCK_SESSION ) / 1000LL;
29 }
30
31-__no_instrument_function__
32+__dfb_no_instrument_function__
33 long long
34 direct_clock_get_abs_micros( void )
35 {
36 return direct_clock_get_time( DIRECT_CLOCK_REALTIME );
37 }
38
39-__no_instrument_function__
40+__dfb_no_instrument_function__
41 long long
42 direct_clock_get_abs_millis( void )
43 {
44Index: DirectFB-1.6.1/lib/direct/debug.c
45===================================================================
46--- DirectFB-1.6.1.orig/lib/direct/debug.c 2012-06-29 19:01:11.000000000 +0300
47+++ DirectFB-1.6.1/lib/direct/debug.c 2013-01-05 18:03:49.000000000 +0200
48@@ -48,7 +48,7 @@
49
50 #if DIRECT_BUILD_DEBUGS /* Build with debug support? */
51
52-__no_instrument_function__
53+__dfb_no_instrument_function__
54 void
55 direct_debug_log( DirectLogDomain *domain,
56 unsigned int debug_level, /* 1-9, 0 = info */
57@@ -63,7 +63,7 @@
58 va_end( ap );
59 }
60
61-__no_instrument_function__
62+__dfb_no_instrument_function__
63 void
64 direct_debug_at( DirectLogDomain *domain,
65 const char *format, ... )
66@@ -77,7 +77,7 @@
67
68 #endif /* DIRECT_BUILD_DEBUGS */
69
70-__no_instrument_function__
71+__dfb_no_instrument_function__
72 void
73 direct_debug_at_always( DirectLogDomain *domain,
74 const char *format, ... )
75@@ -93,7 +93,7 @@
76
77 #if DIRECT_BUILD_DEBUGS /* Build with debug support? */
78
79-__no_instrument_function__
80+__dfb_no_instrument_function__
81 void
82 direct_break( const char *func,
83 const char *file,
84@@ -123,7 +123,7 @@
85 direct_trap( "Break", SIGABRT );
86 }
87
88-__no_instrument_function__
89+__dfb_no_instrument_function__
90 void
91 direct_assertion( const char *exp,
92 const char *func,
93@@ -144,7 +144,7 @@
94 direct_trap( "Assertion", SIGTRAP );
95 }
96
97-__no_instrument_function__
98+__dfb_no_instrument_function__
99 void
100 direct_assumption( const char *exp,
101 const char *func,
102Index: DirectFB-1.6.1/lib/direct/interface.c
103===================================================================
104--- DirectFB-1.6.1.orig/lib/direct/interface.c 2012-06-29 19:01:11.000000000 +0300
105+++ DirectFB-1.6.1/lib/direct/interface.c 2013-01-05 18:04:56.000000000 +0200
106@@ -522,7 +522,7 @@
107
108 /**************************************************************************************************/
109
110-__no_instrument_function__
111+__dfb_no_instrument_function__
112 static InterfaceDesc *
113 allocate_interface_desc( void )
114 {
115@@ -543,7 +543,7 @@
116 return &alloc_list[alloc_count++];
117 }
118
119-__no_instrument_function__
120+__dfb_no_instrument_function__
121 static __inline__ void
122 fill_interface_desc( InterfaceDesc *desc,
123 const void *interface_ptr,
124@@ -565,7 +565,7 @@
125
126 /**************************************************************************************************/
127
128-__no_instrument_function__
129+__dfb_no_instrument_function__
130 void
131 direct_dbg_interface_add( const char *func,
132 const char *file,
133@@ -586,7 +586,7 @@
134 direct_mutex_unlock( &alloc_lock );
135 }
136
137-__no_instrument_function__
138+__dfb_no_instrument_function__
139 void
140 direct_dbg_interface_remove( const char *func,
141 const char *file,
142Index: DirectFB-1.6.1/lib/direct/log.c
143===================================================================
144--- DirectFB-1.6.1.orig/lib/direct/log.c 2012-06-29 19:01:11.000000000 +0300
145+++ DirectFB-1.6.1/lib/direct/log.c 2013-01-05 18:04:18.000000000 +0200
146@@ -128,7 +128,7 @@
147 return DR_OK;
148 }
149
150-__no_instrument_function__
151+__dfb_no_instrument_function__
152 DirectResult
153 direct_log_printf( DirectLog *log,
154 const char *format, ... )
155@@ -197,7 +197,7 @@
156 return DR_OK;
157 }
158
159-__no_instrument_function__
160+__dfb_no_instrument_function__
161 void
162 direct_log_lock( DirectLog *log )
163 {
164@@ -211,7 +211,7 @@
165 direct_mutex_lock( &log->lock );
166 }
167
168-__no_instrument_function__
169+__dfb_no_instrument_function__
170 void
171 direct_log_unlock( DirectLog *log )
172 {
173@@ -262,7 +262,7 @@
174
175 /**********************************************************************************************************************/
176
177-__no_instrument_function__
178+__dfb_no_instrument_function__
179 DirectLog *
180 direct_log_default( void )
181 {
182Index: DirectFB-1.6.1/lib/direct/log_domain.c
183===================================================================
184--- DirectFB-1.6.1.orig/lib/direct/log_domain.c 2012-06-29 19:01:11.000000000 +0300
185+++ DirectFB-1.6.1/lib/direct/log_domain.c 2013-01-05 18:04:38.000000000 +0200
186@@ -69,7 +69,7 @@
187
188 /**********************************************************************************************************************/
189
190-__no_instrument_function__
191+__dfb_no_instrument_function__
192 static __inline__ LogDomainEntry *
193 lookup_domain( const char *name, bool sub );
194
195@@ -104,7 +104,7 @@
196 return NULL;
197 }
198
199-__no_instrument_function__
200+__dfb_no_instrument_function__
201 static DirectLogLevel
202 check_domain( DirectLogDomain *domain );
203
204@@ -207,7 +207,7 @@
205 /* FIXME: merge following */
206
207
208-__no_instrument_function__
209+__dfb_no_instrument_function__
210 DirectResult
211 direct_log_domain_vprintf( DirectLogDomain *domain,
212 DirectLogLevel level,
213@@ -268,7 +268,7 @@
214 return DR_OK;
215 }
216
217-__no_instrument_function__
218+__dfb_no_instrument_function__
219 DirectResult
220 direct_log_domain_log( DirectLogDomain *domain,
221 DirectLogLevel level,
222Index: DirectFB-1.6.1/lib/direct/mem.c
223===================================================================
224--- DirectFB-1.6.1.orig/lib/direct/mem.c 2012-06-29 19:01:11.000000000 +0300
225+++ DirectFB-1.6.1/lib/direct/mem.c 2013-01-05 18:03:08.000000000 +0200
226@@ -121,7 +121,7 @@
227
228 /**********************************************************************************************************************/
229
230-__no_instrument_function__
231+__dfb_no_instrument_function__
232 static __inline__ MemDesc *
233 fill_mem_desc( MemDesc *desc, int bytes, const char *func, const char *file, int line, DirectTraceBuffer *trace )
234 {
235Index: DirectFB-1.6.1/lib/direct/messages.c
236===================================================================
237--- DirectFB-1.6.1.orig/lib/direct/messages.c 2012-06-29 19:01:11.000000000 +0300
238+++ DirectFB-1.6.1/lib/direct/messages.c 2013-01-05 18:02:57.000000000 +0200
239@@ -40,7 +40,7 @@
240
241 #if DIRECT_BUILD_TEXT
242
243-__no_instrument_function__
244+__dfb_no_instrument_function__
245 void
246 direct_messages_info( const char *format, ... )
247 {
248@@ -57,7 +57,7 @@
249 direct_log_printf( NULL, "(*) %s", buf );
250 }
251
252-__no_instrument_function__
253+__dfb_no_instrument_function__
254 void
255 direct_messages_error( const char *format, ... )
256 {
257@@ -76,7 +76,7 @@
258 direct_trace_print_stack( NULL );
259 }
260
261-__no_instrument_function__
262+__dfb_no_instrument_function__
263 void
264 direct_messages_derror( DirectResult result, const char *format, ... )
265 {
266@@ -95,7 +95,7 @@
267 direct_trace_print_stack( NULL );
268 }
269
270-__no_instrument_function__
271+__dfb_no_instrument_function__
272 void
273 direct_messages_perror( int erno, const char *format, ... )
274 {
275@@ -114,7 +114,7 @@
276 direct_trace_print_stack( NULL );
277 }
278
279-__no_instrument_function__
280+__dfb_no_instrument_function__
281 void
282 direct_messages_dlerror( const char *dlerr, const char *format, ... )
283 {
284@@ -133,7 +133,7 @@
285 direct_trace_print_stack( NULL );
286 }
287
288-__no_instrument_function__
289+__dfb_no_instrument_function__
290 void
291 direct_messages_once( const char *func,
292 const char *file,
293@@ -155,7 +155,7 @@
294 direct_trace_print_stack( NULL );
295 }
296
297-__no_instrument_function__
298+__dfb_no_instrument_function__
299 void
300 direct_messages_unimplemented( const char *func,
301 const char *file,
302@@ -166,7 +166,7 @@
303 direct_trace_print_stack( NULL );
304 }
305
306-__no_instrument_function__
307+__dfb_no_instrument_function__
308 void
309 direct_messages_bug( const char *func,
310 const char *file,
311@@ -188,7 +188,7 @@
312 direct_trace_print_stack( NULL );
313 }
314
315-__no_instrument_function__
316+__dfb_no_instrument_function__
317 void
318 direct_messages_warn( const char *func,
319 const char *file,
320Index: DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h
321===================================================================
322--- DirectFB-1.6.1.orig/lib/direct/os/linux/glibc/types.h 2012-06-29 19:01:11.000000000 +0300
323+++ DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h 2013-01-05 18:06:04.000000000 +0200
324@@ -74,7 +74,7 @@
325
326 #define __inline__ inline
327 #define D_UNUSED __attribute__((unused))
328-#define __no_instrument_function__ __attribute__((no_instrument_function))
329+#define __dfb_no_instrument_function__ __attribute__((no_instrument_function))
330 #define __constructor__ __attribute__((constructor))
331 #define __destructor__ __attribute__((destructor))
332 #define __typeof__(x) typeof(x)
333Index: DirectFB-1.6.1/lib/direct/util.c
334===================================================================
335--- DirectFB-1.6.1.orig/lib/direct/util.c 2012-06-29 19:01:11.000000000 +0300
336+++ DirectFB-1.6.1/lib/direct/util.c 2013-01-05 18:03:59.000000000 +0200
337@@ -110,7 +110,7 @@
338 /*
339 * translates errno to DirectResult
340 */
341-__no_instrument_function__
342+__dfb_no_instrument_function__
343 DirectResult
344 errno2result( int erno )
345 {
diff --git a/recipes-graphics/directfb/directfb_1.6.3.bb b/recipes-graphics/directfb/directfb_1.6.3.bb
new file mode 100644
index 0000000..277e9a9
--- /dev/null
+++ b/recipes-graphics/directfb/directfb_1.6.3.bb
@@ -0,0 +1,26 @@
1require directfb.inc
2
3RV = "1.6-0"
4PR = "${INC_PR}.2"
5
6DEPENDS += "sysfsutils"
7
8SRC_URI += "file://fix-compilation-with-zlib.patch \
9 file://rename-no-instrument-function-macro.patch \
10 file://fixsepbuild.patch"
11
12EXTRA_OECONF = "\
13 --enable-freetype=yes \
14 --enable-zlib \
15 --with-gfxdrivers=none \
16 --disable-sdl \
17 --disable-vnc \
18 --disable-x11 \
19 --disable-imlib2 \
20 --disable-mesa \
21"
22
23LEAD_SONAME = "libdirectfb-1.6.so.0"
24
25SRC_URI[md5sum] = "641e8e999c017770da647f9b5b890906"
26SRC_URI[sha256sum] = "7a96aced0f69b2ec0810e9923068e61c21e6b19dd593e09394c872414df75e70"
diff --git a/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch b/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
new file mode 100644
index 0000000..1160cd1
--- /dev/null
+++ b/recipes-graphics/drm/libdrm/mx6/drm-update-arm.patch
@@ -0,0 +1,35 @@
1Add ARM support into xf86arm.h. This provides support for Xorg interface.
2Without this the vivante samples will hang during close requiring a reboot
3
4Upstream-Status: Pending
5
6Signed-off-by: Lauren Post <lauren.post@freescale.com>
7Signed-off-by: Evan Kotara <evan.kotara@freescale.com>
8
9diff --git a/xf86drm.h b/xf86drm.h
10--- a/xf86drm.h
11+++ b/xf86drm.h
12@@ -461,6 +461,23 @@ do { register unsigned int __old __asm("
13 : "cr0", "memory"); \
14 } while (0)
15
16+#elif defined(__arm__)
17+ #undef DRM_DEV_MODE
18+ #define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
19+
20+ #define DRM_CAS(lock,old,new,__ret) \
21+ do { \
22+ __asm__ __volatile__ ( \
23+ "1: ldrex %0, [%1]\n" \
24+ " teq %0, %2\n" \
25+ " ite eq\n" \
26+ " strexeq %0, %3, [%1]\n" \
27+ " movne %0, #1\n" \
28+ : "=&r" (__ret) \
29+ : "r" (lock), "r" (old), "r" (new) \
30+ : "cc","memory"); \
31+ } while (0)
32+
33 #endif /* architecture */
34 #endif /* __GNUC__ >= 2 */
35
diff --git a/recipes-graphics/drm/libdrm_%.bbappend b/recipes-graphics/drm/libdrm_%.bbappend
new file mode 100644
index 0000000..1ef3340
--- /dev/null
+++ b/recipes-graphics/drm/libdrm_%.bbappend
@@ -0,0 +1,5 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI_append_mx6 = "file://drm-update-arm.patch"
4
5PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
new file mode 100644
index 0000000..5f359a3
--- /dev/null
+++ b/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
@@ -0,0 +1,3 @@
1# Set i.MX specific dependencies and device type
2DEPENDS += "virtual/libgles2"
3EGLINFO_DEVICE = "imx6"
diff --git a/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
new file mode 100644
index 0000000..5f359a3
--- /dev/null
+++ b/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
@@ -0,0 +1,3 @@
1# Set i.MX specific dependencies and device type
2DEPENDS += "virtual/libgles2"
3EGLINFO_DEVICE = "imx6"
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
new file mode 100644
index 0000000..4106848
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -0,0 +1,259 @@
1# Copyright (C) 2012-2013 Freescale Semiconductor
2# Copyright (C) 2012-2014 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"
9
10DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes mesa', \
11 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
12 '', d), d)}"
13
14PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/libopenvg"
15
16PE = "1"
17
18inherit fsl-eula-unpack
19
20SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
21 file://egl.pc \
22 file://egl_x11.pc \
23 file://glesv1_cm.pc \
24 file://glesv1_cm_x11.pc \
25 file://glesv2.pc \
26 file://glesv2_x11.pc \
27 file://vg.pc \
28 file://vg_x11.pc \
29 file://gc_wayland_protocol.pc \
30 file://wayland-egl.pc \
31 file://wayland-viv.pc \
32 file://directfbrc \
33 "
34
35PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
36 libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
37 libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
38 libgles2-mx6 libgles2-mx6-dev libgles2-mx6-dbg \
39 libglslc-mx6 libglslc-mx6-dev libglslc-mx6-dbg \
40 libopencl-mx6 libopencl-mx6-dev libopencl-mx6-dbg \
41 libopenvg-mx6 libopenvg-mx6-dev libopenvg-mx6-dbg \
42 libvdk-mx6 libvdk-mx6-dev libvdk-mx6-dbg \
43 libegl-mx6 libegl-mx6-dev libegl-mx6-dbg \
44 libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \
45 libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \
46 libvivante-dri-mx6 \
47 libvivante-dfb-mx6 \
48 libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \
49 libgc-wayland-protocol-mx6 libgc-wayland-protocol-mx6-dev libgc-wayland-protocol-mx6-dbg \
50 libwayland-egl-mx6-dev \
51"
52
53# Skip package if it does not match the machine float-point type in use
54python __anonymous () {
55 is_machine_hardfp = base_contains("TUNE_FEATURES", "callconvention-hard", True, False, d)
56 is_package_hardfp = d.getVar("PACKAGE_FP_TYPE", True) == "hardfp"
57
58 if is_package_hardfp != is_machine_hardfp:
59 PN = d.getVar("PN", True)
60 PV = d.getVar("PV", True)
61 bb.debug(1, "Skipping %s (%s) as machine and package float-point does not match" % (PN, PV))
62 raise bb.parse.SkipPackage("Package Float-Point is not compatible with the machine")
63}
64
65USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
66USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
67USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}"
68
69# Inhibit warnings about files being stripped.
70INHIBIT_PACKAGE_STRIP = "1"
71INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
72
73# FIXME: The provided binary doesn't provide soname. If in future BSP
74# release the libraries are fixed, we can drop this hack.
75REALSOLIBS := "${SOLIBS}"
76SOLIBS = "${SOLIBSDEV}"
77
78# For the packages that make up the OpenGL interfaces, inject variables so that
79# they don't get Debian-renamed (which would remove the -mx6 suffix).
80#
81# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
82# the source we cannot fix it. Disable the insane check for now.
83python __anonymous() {
84 packages = d.getVar('PACKAGES', True).split()
85 for p in packages:
86 d.appendVar("INSANE_SKIP_%s" % p, " ldflags")
87
88 for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
89 ("libgles1", "libglesv1-cm1"), ("libgles2", "libglesv2-2"),
90 ("libgles3",)):
91 fullp = p[0] + "-mx6"
92 pkgs = " ".join(p)
93 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
94 d.appendVar("RREPLACES_" + fullp, pkgs)
95 d.appendVar("RPROVIDES_" + fullp, pkgs)
96 d.appendVar("RCONFLICTS_" + fullp, pkgs)
97
98 # For -dev, the first element is both the Debian and original name
99 fullp += "-dev"
100 pkgs = p[0] + "-dev"
101 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
102 d.appendVar("RREPLACES_" + fullp, pkgs)
103 d.appendVar("RPROVIDES_" + fullp, pkgs)
104 d.appendVar("RCONFLICTS_" + fullp, pkgs)
105}
106
107do_install () {
108 install -d ${D}${libdir}
109 install -d ${D}${includedir}
110
111 cp -a ${S}/usr/lib/*.so* ${D}${libdir}
112 cp -axr ${S}/usr/include/* ${D}${includedir}
113 cp -axr ${S}/opt ${D}
114
115 install -d ${D}${libdir}/pkgconfig
116
117 # The preference order, based in DISTRO_FEATURES, is x11, wayland, directfb and fb
118 if [ "${USE_X11}" = "yes" ]; then
119 cp -r ${S}/usr/lib/dri ${D}${libdir}
120 backend=x11
121
122 install -m 0644 ${WORKDIR}/egl_x11.pc ${D}${libdir}/pkgconfig/egl.pc
123 install -m 0644 ${WORKDIR}/glesv1_cm_x11.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
124 install -m 0644 ${WORKDIR}/glesv2_x11.pc ${D}${libdir}/pkgconfig/glesv2.pc
125 install -m 0644 ${WORKDIR}/vg_x11.pc ${D}${libdir}/pkgconfig/vg.pc
126 #FIXME: WL & X11 is not currently functional
127 #if [ "${USE_WL}" = "yes" ]; then
128 # install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
129 # install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
130 # install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
131 #fi
132 elif [ "${USE_WL}" = "yes" ]; then
133 backend=wl
134
135 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
136 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
137 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
138 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
139 install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc
140 install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc
141 install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc
142 else
143 install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc
144 install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc
145 install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc
146 install -m 0644 ${WORKDIR}/vg.pc ${D}${libdir}/pkgconfig/vg.pc
147
148 if [ "${USE_DFB}" = "yes" ]; then
149 install -d ${D}/${sysconfdir}
150 install -m 644 ${WORKDIR}/directfbrc ${D}/${sysconfdir}/directfbrc
151
152 cp -r ${S}/usr/lib/directfb-1.6-0 ${D}${libdir}
153 backend=dfb
154 else
155 # Regular framebuffer
156 backend=fb
157 fi
158 fi
159
160 # We'll only have one backend here so we rename it to generic name
161 # and avoid rework in other packages, when possible
162 mv ${D}${libdir}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2.0
163 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so.1.2
164 ln -sf libGL.so.1.2.0 ${D}${libdir}/libGL.so
165 mv ${D}${libdir}/libEGL-${backend}.so ${D}${libdir}/libEGL.so.1.0
166 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so.1
167 ln -sf libEGL.so.1.0 ${D}${libdir}/libEGL.so
168 mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so
169 mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so
170
171 # update libglesv2 as backend dependent
172 rm -rf ${D}${libdir}/libGLESv2*
173 cp -a ${S}/usr/lib/libGLESv2-${backend}.so ${D}${libdir}/libGLESv2.so.2.0.0
174 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so.2
175 ln -sf libGLESv2.so.2.0.0 ${D}${libdir}/libGLESv2.so
176
177 for backend in wl x11 fb dfb; do
178 find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';'
179 done
180
181 find ${D}${libdir} -type f -exec chmod 644 {} \;
182 find ${D}${includedir} -type f -exec chmod 644 {} \;
183}
184
185FILES_${PN} += "/opt"
186FILES_${PN}-dev = "${includedir}"
187FILES_${PN}-dbg = "${libdir}/.debug /opt/viv_samples/*/*/.debug"
188
189FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}"
190FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
191FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}"
192
193# libEGL.so is used by some demo apps from Freescale
194INSANE_SKIP_libegl-mx6 += "dev-so"
195FILES_libegl-mx6 = "${libdir}/libEGL${REALSOLIBS} ${libdir}/libEGL${SOLIBSDEV} "
196FILES_libegl-mx6-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
197FILES_libegl-mx6-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
198
199FILES_libgal-mx6 = "${libdir}/libGAL${SOLIBS}"
200FILES_libgal-mx6-dev = "${libdir}/libGAL${SOLIBSDEV}"
201FILES_libgal-mx6-dbg = "${libdir}/.debug/libGAL${SOLIBS}"
202
203FILES_libgl-mx6 = "${libdir}/libGL${REALSOLIBS}"
204FILES_libgl-mx6-dev = "${libdir}/libGL${SOLIBSDEV}"
205FILES_libgl-mx6-dbg = "${libdir}/.debug/libGL.${SOLIBS}"
206
207# libEGL needs to open libGLESv1.so
208INSANE_SKIP_libgles-mx6 += "dev-so"
209FILES_libgles-mx6 = "${libdir}/libGLESv1*${REALSOLIBS} ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBS}"
210FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV} ${libdir}/pkgconfig/glesv1_cm.pc"
211FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}"
212
213# libEGL needs to open libGLESv2.so
214INSANE_SKIP_libgles2-mx6 += "dev-so"
215FILES_libgles2-mx6 = "${libdir}/libGLESv2${REALSOLIBS} ${libdir}/libGLESv2${SOLIBS}"
216FILES_libgles2-mx6-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV} ${libdir}/pkgconfig/glesv2.pc"
217FILES_libgles2-mx6-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
218RDEPENDS_libgles2-mx6 = "libglslc-mx6"
219
220FILES_libglslc-mx6 = "${libdir}/libGLSLC${SOLIBS}"
221FILES_libglslc-mx6-dev = "${includedir}/CL ${libdir}/libGLSLC${SOLIBSDEV}"
222FILES_libglslc-mx6-dbg = "${libdir}/.debug/libGLSLC${SOLIBS}"
223
224FILES_libopencl-mx6 = "${libdir}/libOpenCL${SOLIBS}"
225FILES_libopencl-mx6-dev = "${includedir}/CL ${libdir}/libOpenCL${SOLIBSDEV}"
226FILES_libopencl-mx6-dbg = "${libdir}/.debug/libOpenCL${SOLIBS}"
227RDEPENDS_libopencl-mx6 = "libclc-mx6"
228
229FILES_libopenvg-mx6 = "${libdir}/libOpenVG*${SOLIBS}"
230FILES_libopenvg-mx6-dev = "${includedir}/VG ${libdir}/libOpenVG*${SOLIBSDEV} ${libdir}/pkgconfig/vg.pc"
231FILES_libopenvg-mx6-dbg = "${libdir}/.debug/libOpenVG*${SOLIBS}"
232
233FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}"
234FILES_libvdk-mx6-dev = "${includedir}/*vdk.h ${libdir}/libVDK${SOLIBSDEV}"
235FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}"
236
237FILES_libvivante-mx6 = "${libdir}/libVIVANTE${SOLIBS}"
238FILES_libvivante-mx6-dev = "${libdir}/libVIVANTE${SOLIBSDEV}"
239FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}"
240
241FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so"
242
243FILES_libvivante-dfb-mx6 = "${libdir}/directfb-1.6-0/gfxdrivers/libdirectfb_gal.so"
244
245INSANE_SKIP_libwayland-viv-mx6 += "dev-so"
246FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}"
247FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc"
248FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}"
249
250INSANE_SKIP_libgc-wayland-protocol-mx6 += "dev-so"
251FILES_libgc-wayland-protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}"
252FILES_libgc-wayland-protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc"
253FILES_libgc-wayland-protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}"
254
255FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc"
256
257FILES_libvivante-dfb-mx6 += "${sysconfdir}/directfbrc"
258
259COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/0001-change-header-path-to-HAL.patch b/recipes-graphics/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/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc
new file mode 100644
index 0000000..bae398c
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/directfbrc
@@ -0,0 +1,10 @@
1# directfbrc begin
2system=fbdev
3mode=1024x768 # display size (change to fit your needs)
4desktop-buffer-mode=frontonly # if no double buffering in framebuffer driver
5depth=16
6pixelformat=RGB16
7#no-hardware # disable hardware acceleration
8#no-software # disable software fallbacks
9# directfbrc end
10
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl.pc
new file mode 100644
index 0000000..a21922d
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/egl_x11.pc
new file mode 100644
index 0000000..5921583
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/fix-conflicting-TLS-definition.patch
new file mode 100644
index 0000000..3eac116
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_hal_eglplatform-remove-xlib-undefs.patch b/recipes-graphics/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/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc
new file mode 100644
index 0000000..f4610ea
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm.pc
new file mode 100644
index 0000000..d97b067
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv1_cm_x11.pc
new file mode 100644
index 0000000..e801633
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
new file mode 100644
index 0000000..9be46f2
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2_x11.pc
new file mode 100644
index 0000000..57ad807
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg.pc
new file mode 100644
index 0000000..7c00def
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/vg_x11.pc
new file mode 100644
index 0000000..94fb91e
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc
new file mode 100644
index 0000000..ba1b898
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc
new file mode 100644
index 0000000..3fdedd0
--- /dev/null
+++ b/recipes-graphics/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/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb
new file mode 100644
index 0000000..0a16621
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-hfp.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 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] = "8b9c4f6181acf46028e39508a970ecc1"
7SRC_URI[sha256sum] = "7e5a3db22b99740756f408b881691f81c03090256754e44f69369bf039e9cbcf"
8
9PACKAGE_FP_TYPE = "hardfp"
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb
new file mode 100644
index 0000000..44bbd6d
--- /dev/null
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.0-sfp.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 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] = "d1137c148aff0a25bd19feca889329c2"
7SRC_URI[sha256sum] = "e6af458221041d2d1ce6338a666969bbda73aa26270b243cfc4d22f9c0d913c9"
8
9PACKAGE_FP_TYPE = "softfp"
diff --git a/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc
new file mode 100644
index 0000000..ce0c74f
--- /dev/null
+++ b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d.inc
@@ -0,0 +1,45 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3DESCRIPTION = "GPU Vivante G2D library and sample applications for imx6"
4SECTION = "libs"
5LICENSE = "Proprietary"
6LIC_FILES_CHKSUM = "file://usr/include/g2d.h;endline=7;md5=861ebad4adc7236f8d1905338abd7eb2"
7
8PROVIDES += "virtual/libg2d"
9
10PACKAGES = "${PN} ${PN}-dev ${PN}-dbg"
11
12inherit fsl-eula-unpack
13
14PE = "1"
15
16SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
17
18PACKAGES += "libg2d"
19
20# Inhibit warnings about files being stripped.
21INHIBIT_PACKAGE_STRIP = "1"
22INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
23
24do_install () {
25 install -d ${D}${libdir}
26 install -d ${D}${includedir}
27
28 cp ${S}/usr/lib/*.so ${D}${libdir}
29 cp -axr ${S}/usr/include/* ${D}${includedir}
30 cp -axr ${S}/opt ${D}
31
32 find ${D}${libdir} -type f -exec chmod 644 {} \;
33 find ${D}${includedir} -type f -exec chmod 644 {} \;
34}
35
36# FIXME: The provided binary doesn't provide soname. If in future BSP
37# release the libraries are fixed, we can drop this hack.
38REALSOLIBS := "${SOLIBS}"
39SOLIBS = "${SOLIBSDEV}"
40
41FILES_${PN} = "/opt"
42FILES_libg2d = "${libdir}/libg2d-viv${SOLIBS} ${libdir}/libg2d${SOLIBS}"
43FILES_${PN}-dev = "${includedir}"
44
45COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..de83d95
--- /dev/null
+++ b/recipes-graphics/gpu-viv-g2d/gpu-viv-g2d_3.10.17-1.0.0.bb
@@ -0,0 +1,6 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2
3include gpu-viv-g2d.inc
4
5SRC_URI[md5sum] = "58dfe0fe674dcf82045d0af999ebd2f4"
6SRC_URI[sha256sum] = "5fcb6f294f94c059162d7b178f76f660d27ddab7ba0fc4344f1b28b30f71e261"
diff --git a/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
new file mode 100644
index 0000000..d899540
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-demos/Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch
@@ -0,0 +1,355 @@
1From 757649a766f90e745f24df1d191caeef15c71399 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Tue, 4 Jun 2013 09:28:51 -0300
4Subject: [PATCH] Replace glWindowPos2iARB calls with glWindowPos2i
5
6Vivante libGL does not provide the glWindowPos2iARB symbol, but
7glWindowPos2i. Use this instead.
8
9Upstream-Status: Inapropriate [embedded specific]
10
11Reported-by: Jeremy Stashluk <jstashluk@dekaresearch.com>
12Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
13---
14 src/demos/copypix.c | 4 ++--
15 src/demos/engine.c | 2 +-
16 src/demos/fogcoord.c | 4 ++--
17 src/glsl/shadow_sampler.c | 2 +-
18 src/tests/auxbuffer.c | 2 +-
19 src/tests/copypixrate.c | 2 +-
20 src/tests/drawbuffers.c | 2 +-
21 src/tests/drawbuffers2.c | 2 +-
22 src/tests/fbotest1.c | 2 +-
23 src/tests/fbotest2.c | 4 ++--
24 src/tests/fbotest3.c | 2 +-
25 src/tests/readrate.c | 10 +++++-----
26 src/tests/viewmemory.c | 2 +-
27 src/trivial/clear-fbo-scissor.c | 2 +-
28 src/trivial/clear-fbo-tex.c | 2 +-
29 src/trivial/clear-fbo.c | 2 +-
30 src/trivial/readpixels.c | 2 +-
31 src/trivial/tri-fbo.c | 2 +-
32 src/xdemos/glxsnoop.c | 2 +-
33 src/xdemos/wincopy.c | 4 ++--
34 20 files changed, 28 insertions(+), 28 deletions(-)
35
36diff --git a/src/demos/copypix.c b/src/demos/copypix.c
37index 286c5a9..041b567 100644
38--- a/src/demos/copypix.c
39+++ b/src/demos/copypix.c
40@@ -54,7 +54,7 @@ static void Display( void )
41 glClear( GL_COLOR_BUFFER_BIT );
42
43 /* draw original image */
44- glWindowPos2iARB(dx, dy);
45+ glWindowPos2i(dx, dy);
46 glDrawPixels(ImgWidth, ImgHeight, ImgFormat, GL_UNSIGNED_BYTE, Image);
47
48 if (Scissor)
49@@ -71,7 +71,7 @@ static void Display( void )
50
51 /* draw copy */
52 glPixelZoom(Xzoom, Yzoom);
53- glWindowPos2iARB(Xpos, Ypos);
54+ glWindowPos2i(Xpos, Ypos);
55 glCopyPixels(dx, dy, ImgWidth, ImgHeight, GL_COLOR);
56 glPixelZoom(1, 1);
57
58diff --git a/src/demos/engine.c b/src/demos/engine.c
59index 928fcbb..beace4c 100644
60--- a/src/demos/engine.c
61+++ b/src/demos/engine.c
62@@ -971,7 +971,7 @@ Draw(void)
63 glDisable(GL_LIGHTING);
64 glDisable(GL_TEXTURE_2D);
65 glColor3f(1, 1 , 1);
66- glWindowPos2iARB(10, 10);
67+ glWindowPos2i(10, 10);
68 PrintString(s);
69 if (lit)
70 glEnable(GL_LIGHTING);
71diff --git a/src/demos/fogcoord.c b/src/demos/fogcoord.c
72index 567eec0..e833009 100644
73--- a/src/demos/fogcoord.c
74+++ b/src/demos/fogcoord.c
75@@ -68,14 +68,14 @@ PrintInfo(void)
76
77 sprintf(s, "Mode(m): %s Start(s/S): %g End(e/E): %g Density(d/D): %g",
78 ModeStr, fogStart, fogEnd, fogDensity);
79- glWindowPos2iARB(5, 20);
80+ glWindowPos2i(5, 20);
81 PrintString(s);
82
83 sprintf(s, "Arrays(a): %s glFogCoord(c): %s EyeZ(z/z): %g",
84 (Arrays ? "Yes" : "No"),
85 (fogCoord ? "Yes" : "No"),
86 camz);
87- glWindowPos2iARB(5, 5);
88+ glWindowPos2i(5, 5);
89 PrintString(s);
90 }
91
92diff --git a/src/glsl/shadow_sampler.c b/src/glsl/shadow_sampler.c
93index b830030..eb82d8b 100644
94--- a/src/glsl/shadow_sampler.c
95+++ b/src/glsl/shadow_sampler.c
96@@ -85,7 +85,7 @@ Redisplay(void)
97 glPopMatrix();
98
99 glUseProgram(0);
100- glWindowPos2iARB(80, 20);
101+ glWindowPos2i(80, 20);
102 PrintString("white black white black");
103
104 {
105diff --git a/src/tests/auxbuffer.c b/src/tests/auxbuffer.c
106index 5fa399a..0cd5f47 100644
107--- a/src/tests/auxbuffer.c
108+++ b/src/tests/auxbuffer.c
109@@ -419,7 +419,7 @@ event_loop(Display *dpy, Window win)
110 /* Copy aux buffer image to back color buffer */
111 glReadBuffer(GL_AUX0);
112 glDrawBuffer(GL_BACK);
113- glWindowPos2iARB(0, 0);
114+ glWindowPos2i(0, 0);
115 glDisable(GL_DEPTH_TEST);
116 glCopyPixels(0, 0, WinWidth, WinHeight, GL_COLOR);
117 glEnable(GL_DEPTH_TEST);
118diff --git a/src/tests/copypixrate.c b/src/tests/copypixrate.c
119index 2f64e0a..df1f9b0 100644
120--- a/src/tests/copypixrate.c
121+++ b/src/tests/copypixrate.c
122@@ -91,7 +91,7 @@ BlitOne(void)
123 else
124 #endif
125 {
126- glWindowPos2iARB(x, y);
127+ glWindowPos2i(x, y);
128 glCopyPixels(0, 0, ImgWidth, ImgHeight, GL_COLOR);
129 }
130 }
131diff --git a/src/tests/drawbuffers.c b/src/tests/drawbuffers.c
132index fa2f8a7..cd5033f 100644
133--- a/src/tests/drawbuffers.c
134+++ b/src/tests/drawbuffers.c
135@@ -88,7 +88,7 @@ Display(void)
136 glUseProgram(0);
137 glDisable(GL_DEPTH_TEST);
138 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
139- glWindowPos2iARB(0, 0);
140+ glWindowPos2i(0, 0);
141 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
142
143 free(buffer);
144diff --git a/src/tests/drawbuffers2.c b/src/tests/drawbuffers2.c
145index 5bcf0b2..84d444b 100644
146--- a/src/tests/drawbuffers2.c
147+++ b/src/tests/drawbuffers2.c
148@@ -112,7 +112,7 @@ Display(void)
149 glUseProgram(0);
150 glDisable(GL_DEPTH_TEST);
151 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
152- glWindowPos2iARB(0, 0);
153+ glWindowPos2i(0, 0);
154 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
155
156 free(buffer);
157diff --git a/src/tests/fbotest1.c b/src/tests/fbotest1.c
158index 161903c..5930a6d 100644
159--- a/src/tests/fbotest1.c
160+++ b/src/tests/fbotest1.c
161@@ -61,7 +61,7 @@ Display( void )
162
163 /* draw to window */
164 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
165- glWindowPos2iARB(0, 0);
166+ glWindowPos2i(0, 0);
167 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
168
169 free(buffer);
170diff --git a/src/tests/fbotest2.c b/src/tests/fbotest2.c
171index 6ef7f12..11c867e 100644
172--- a/src/tests/fbotest2.c
173+++ b/src/tests/fbotest2.c
174@@ -72,7 +72,7 @@ Display( void )
175
176 glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
177
178- glWindowPos2iARB(0, 0);
179+ glWindowPos2i(0, 0);
180 glCopyPixels(0, 0, Width, Height, GL_COLOR);
181 }
182 else if (blitPix) {
183@@ -95,7 +95,7 @@ Display( void )
184 /* draw to window */
185 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
186 glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
187- glWindowPos2iARB(0, 0);
188+ glWindowPos2i(0, 0);
189 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
190
191 free(buffer);
192diff --git a/src/tests/fbotest3.c b/src/tests/fbotest3.c
193index 19f684d..e6d7710 100644
194--- a/src/tests/fbotest3.c
195+++ b/src/tests/fbotest3.c
196@@ -79,7 +79,7 @@ Display( void )
197 /* draw to window */
198 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
199 glDisable(GL_DEPTH_TEST); /* in case window has depth buffer */
200- glWindowPos2iARB(0, 0);
201+ glWindowPos2i(0, 0);
202 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
203
204 free(buffer);
205diff --git a/src/tests/readrate.c b/src/tests/readrate.c
206index 3859cf4..81eb8a3 100644
207--- a/src/tests/readrate.c
208+++ b/src/tests/readrate.c
209@@ -85,7 +85,7 @@ MeasureFormat(struct format_type *fmt, GLint width, GLint height, GLuint pbo)
210 glEnd();
211
212 #if DRAW
213- glWindowPos2iARB(0,0);
214+ glWindowPos2i(0,0);
215 glDrawPixels(width, height,
216 fmt->Format, fmt->Type, Buffer);
217 glFinish();
218@@ -137,21 +137,21 @@ Draw(void)
219
220 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
221
222- glWindowPos2iARB(10, y);
223+ glWindowPos2i(10, y);
224 sprintf(str, "ReadPixels size: %d x %d", width, height);
225 PrintString(str);
226 y -= 14;
227
228- glWindowPos2iARB(10, y);
229+ glWindowPos2i(10, y);
230 PrintString("Press up/down/left/right to change image size.");
231 y -= 14;
232
233- glWindowPos2iARB(10, y);
234+ glWindowPos2i(10, y);
235 PrintString("Press 'b' to run benchmark test.");
236 y -= 14;
237
238 if (Benchmark) {
239- glWindowPos2iARB(10, y);
240+ glWindowPos2i(10, y);
241 PrintString("Testing...");
242 }
243
244diff --git a/src/tests/viewmemory.c b/src/tests/viewmemory.c
245index 16044b9..3584c33 100644
246--- a/src/tests/viewmemory.c
247+++ b/src/tests/viewmemory.c
248@@ -95,7 +95,7 @@ Draw(void)
249
250 glDisable(GL_TEXTURE_2D);
251 glColor3f(0, 1, 0);
252- glWindowPos2iARB(10, 10);
253+ glWindowPos2i(10, 10);
254 PrintString(s);
255
256 glutSwapBuffers();
257diff --git a/src/trivial/clear-fbo-scissor.c b/src/trivial/clear-fbo-scissor.c
258index a30935c..5c15200 100644
259--- a/src/trivial/clear-fbo-scissor.c
260+++ b/src/trivial/clear-fbo-scissor.c
261@@ -182,7 +182,7 @@ Draw(void)
262
263 /* draw to window */
264 glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
265- glWindowPos2iARB(0, 0);
266+ glWindowPos2i(0, 0);
267 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
268
269 free(buffer);
270diff --git a/src/trivial/clear-fbo-tex.c b/src/trivial/clear-fbo-tex.c
271index de84f98..f0fbdf6 100644
272--- a/src/trivial/clear-fbo-tex.c
273+++ b/src/trivial/clear-fbo-tex.c
274@@ -140,7 +140,7 @@ static void Draw( void )
275 glClearColor(0.8, 0.8, 0, 0.0);
276 glClear(GL_COLOR_BUFFER_BIT);
277
278- glWindowPos2iARB(30, 30);
279+ glWindowPos2i(30, 30);
280 glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
281
282 free(buffer);
283diff --git a/src/trivial/clear-fbo.c b/src/trivial/clear-fbo.c
284index 10d830b..3fee3e3 100644
285--- a/src/trivial/clear-fbo.c
286+++ b/src/trivial/clear-fbo.c
287@@ -116,7 +116,7 @@ Draw(void)
288 glClearColor(0.8, 0.8, 0, 0.0);
289 glClear(GL_COLOR_BUFFER_BIT);
290
291- glWindowPos2iARB(30, 30);
292+ glWindowPos2i(30, 30);
293 glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
294
295 free(buffer);
296diff --git a/src/trivial/readpixels.c b/src/trivial/readpixels.c
297index ccce4ed..74e0546 100644
298--- a/src/trivial/readpixels.c
299+++ b/src/trivial/readpixels.c
300@@ -71,7 +71,7 @@ static void Draw(void)
301 printf("Pixel(0,0) = %f, %f, %f, %f\n",
302 image[0], image[1], image[2], image[3]);
303 /* draw to right half of window */
304- glWindowPos2iARB(Width, 0);
305+ glWindowPos2i(Width, 0);
306 glPixelZoom(Zoom, Zoom);
307 glDrawPixels(Width, Height, GL_RGBA, GL_FLOAT, image);
308 free(image);
309diff --git a/src/trivial/tri-fbo.c b/src/trivial/tri-fbo.c
310index d5800b2..dd1f21a 100644
311--- a/src/trivial/tri-fbo.c
312+++ b/src/trivial/tri-fbo.c
313@@ -119,7 +119,7 @@ static void Draw( void )
314 glClearColor(0.8, 0.8, 0, 0.0);
315 glClear(GL_COLOR_BUFFER_BIT);
316
317- glWindowPos2iARB(30, 30);
318+ glWindowPos2i(30, 30);
319 glDrawPixels(Width-60, Height-60, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
320
321
322diff --git a/src/xdemos/glxsnoop.c b/src/xdemos/glxsnoop.c
323index 2215cfd..13d2b2d 100644
324--- a/src/xdemos/glxsnoop.c
325+++ b/src/xdemos/glxsnoop.c
326@@ -91,7 +91,7 @@ redraw(Display *dpy, Window srcWin, Window dstWin )
327 }
328
329 glXMakeCurrent(dpy, dstWin, Context);
330- glWindowPos2iARB(0, 0);
331+ glWindowPos2i(0, 0);
332 glDrawBuffer(GL_FRONT);
333 glDrawPixels(Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, image);
334 glFlush();
335diff --git a/src/xdemos/wincopy.c b/src/xdemos/wincopy.c
336index f670983..d010085 100644
337--- a/src/xdemos/wincopy.c
338+++ b/src/xdemos/wincopy.c
339@@ -156,11 +156,11 @@ Redraw(void)
340 glClear(GL_COLOR_BUFFER_BIT);
341
342 if (TestClipping) {
343- glWindowPos2iARB(-2, -2);
344+ glWindowPos2i(-2, -2);
345 glCopyPixels(-2, -2, Width[0] + 4, Height[0] + 4, GL_COLOR);
346 }
347 else {
348- glWindowPos2iARB(0, 0);
349+ glWindowPos2i(0, 0);
350 glCopyPixels(0, 0, Width[0], Height[0], GL_COLOR);
351 }
352
353--
3541.8.1
355
diff --git a/recipes-graphics/mesa/mesa-demos_%.bbappend b/recipes-graphics/mesa/mesa-demos_%.bbappend
new file mode 100644
index 0000000..989577d
--- /dev/null
+++ b/recipes-graphics/mesa/mesa-demos_%.bbappend
@@ -0,0 +1,4 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI_append_mx6 = " file://Replace-glWindowPos2iARB-calls-with-glWindowPos2i.patch"
4
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 0000000..8e0a36b
--- /dev/null
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1,10 @@
1PACKAGECONFIG_remove_mx5 = "egl gles"
2PROVIDES_remove_mx5 = "virtual/libgles1 virtual/libgles2 virtual/egl"
3
4PACKAGECONFIG_remove_mx6 = "egl gles"
5PROVIDES_remove_mx6 = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
6
7# FIXME: Dirty hack to allow use of Vivante GPU libGL binary
8do_install_append_mx6 () {
9 rm -f ${D}${libdir}/libGL.*
10}
diff --git a/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend b/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend
new file mode 100644
index 0000000..a95af53
--- /dev/null
+++ b/recipes-graphics/packagegroups/packagegroup-core-directfb.bbappend
@@ -0,0 +1,3 @@
1# i.MX6 has DirectFB acceleration support, so add it
2RDEPENDS_${PN}_append_mx6 = " libvivante-dfb-mx6"
3PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
diff --git a/recipes-graphics/piglit/piglit_git.bbappend b/recipes-graphics/piglit/piglit_git.bbappend
new file mode 100644
index 0000000..f5e16b3
--- /dev/null
+++ b/recipes-graphics/piglit/piglit_git.bbappend
@@ -0,0 +1,5 @@
1# Provide the need flags and backend settings to work with Vivante GPU
2CFLAGS_append_mx6 = " -DLINUX \
3 ${@base_contains('DISTRO_FEATURES', 'x11', '-DEGL_API_FB', \
4 base_contains('DISTRO_FEATURES', 'wayland', \
5 '-DEGL_API_WL', '', d), d)}"
diff --git a/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch b/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch
new file mode 100644
index 0000000..6c8dfe9
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-Add-support-for-Vivante-FBDEV-EGL.patch
@@ -0,0 +1,69 @@
1From bc8f870072b134ffc9b8047a53835b7b6f714d5d Mon Sep 17 00:00:00 2001
2From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
3Date: Tue, 11 Mar 2014 17:35:52 -0500
4Subject: [PATCH] Add support for Vivante FBDEV EGL
5
6Upstream-Status: Pending
7
8Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
9---
10 src/compositor-fbdev.c | 20 +++++++++++++++++---
11 1 file changed, 17 insertions(+), 3 deletions(-)
12
13diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
14index 0d96269..ada0019 100644
15--- a/src/compositor-fbdev.c
16+++ b/src/compositor-fbdev.c
17@@ -53,6 +53,7 @@ struct fbdev_compositor {
18 struct udev_input input;
19 int use_pixman;
20 struct wl_listener session_listener;
21+ EGLNativeDisplayType display;
22 };
23
24 struct fbdev_screeninfo {
25@@ -87,6 +88,9 @@ struct fbdev_output {
26 pixman_image_t *shadow_surface;
27 void *shadow_buf;
28 uint8_t depth;
29+
30+ EGLNativeDisplayType display;
31+ EGLNativeWindowType window;
32 };
33
34 struct fbdev_parameters {
35@@ -626,9 +630,13 @@ fbdev_output_create(struct fbdev_compositor *compositor,
36 if (pixman_renderer_output_create(&output->base) < 0)
37 goto out_shadow_surface;
38 } else {
39- setenv("HYBRIS_EGLPLATFORM", "wayland", 1);
40+ output->window = fbCreateWindow(compositor->display, -1, -1, 0, 0);
41+ if (output->window == NULL) {
42+ fprintf(stderr, "failed to create window\n");
43+ return 0;
44+ }
45 if (gl_renderer->output_create(&output->base,
46- (EGLNativeWindowType)NULL) < 0) {
47+ (EGLNativeWindowType)output->window) < 0) {
48 weston_log("gl_renderer_output_create failed.\n");
49 goto out_shadow_surface;
50 }
51@@ -920,8 +928,14 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
52 weston_log("could not load gl renderer\n");
53 goto out_launcher;
54 }
55+
56+ compositor->display = fbGetDisplay(compositor->base.wl_display);
57+ if (compositor->display == NULL) {
58+ weston_log("fbGetDisplay failed.\n");
59+ goto out_launcher;
60+ }
61
62- if (gl_renderer->create(&compositor->base, EGL_DEFAULT_DISPLAY,
63+ if (gl_renderer->create(&compositor->base, compositor->display,
64 gl_renderer->opaque_attribs,
65 NULL) < 0) {
66 weston_log("gl_renderer_create failed.\n");
67--
681.8.1.2
69
diff --git a/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch b/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch
new file mode 100644
index 0000000..f60a208
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0002-weston-Add-Vivante-2D-compositor-support.patch
@@ -0,0 +1,1513 @@
1From c5fa88cb08477384430d2ab1123319c9d5dfb31c Mon Sep 17 00:00:00 2001
2From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
3Date: Mon, 24 Mar 2014 07:30:25 -0500
4Subject: [PATCH 2/2] weston : Add Vivante 2D compositor support
5
6Upstream-Status: Pending
7
8Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
9---
10 src/Makefile.am | 14 +
11 src/compositor-fbdev.c | 111 ++++-
12 src/gal2d-renderer.c | 1186 ++++++++++++++++++++++++++++++++++++++++++++++++
13 src/gal2d-renderer.h | 43 ++
14 4 files changed, 1340 insertions(+), 14 deletions(-)
15 create mode 100644 src/gal2d-renderer.c
16 create mode 100644 src/gal2d-renderer.h
17
18diff --git a/src/Makefile.am b/src/Makefile.am
19index 446639c..ef6abd6 100644
20--- a/src/Makefile.am
21+++ b/src/Makefile.am
22@@ -112,6 +112,7 @@ module_LTLIBRARIES = \
23 $(cms_static) \
24 $(cms_colord) \
25 $(gl_renderer) \
26+ $(gal2d_renderer) \
27 $(x11_backend) \
28 $(drm_backend) \
29 $(wayland_backend) \
30@@ -138,6 +139,19 @@ gl_renderer_la_SOURCES = \
31 gl-renderer.c \
32 vertex-clipping.c \
33 vertex-clipping.h
34+
35+gal2d_renderer = gal2d-renderer.la
36+gal2d_renderer_la_LDFLAGS = -module -avoid-version
37+gal2d_renderer_la_LIBADD = $(COMPOSITOR_LIBS) $(EGL_LIBS)
38+gal2d_renderer_la_CFLAGS = \
39+ $(COMPOSITOR_CFLAGS) \
40+ $(EGL_CFLAGS) \
41+ $(GCC_CFLAGS)
42+gal2d_renderer_la_SOURCES = \
43+ gal2d-renderer.h \
44+ gal2d-renderer.c \
45+ vertex-clipping.c \
46+ vertex-clipping.h
47 endif
48
49 if ENABLE_X11_COMPOSITOR
50diff --git a/src/compositor-fbdev.c b/src/compositor-fbdev.c
51index 72939b4..28f1fca 100644
52--- a/src/compositor-fbdev.c
53+++ b/src/compositor-fbdev.c
54@@ -44,6 +44,7 @@
55 #include "pixman-renderer.h"
56 #include "udev-seat.h"
57 #include "gl-renderer.h"
58+#include "gal2d-renderer.h"
59
60 struct fbdev_compositor {
61 struct weston_compositor base;
62@@ -52,6 +53,7 @@ struct fbdev_compositor {
63 struct udev *udev;
64 struct udev_input input;
65 int use_pixman;
66+ int use_gal2d;
67 struct wl_listener session_listener;
68 NativeDisplayType display;
69 };
70@@ -97,9 +99,11 @@ struct fbdev_parameters {
71 int tty;
72 char *device;
73 int use_gl;
74+ int use_gal2d;
75 };
76
77 struct gl_renderer_interface *gl_renderer;
78+struct gal2d_renderer_interface *gal2d_renderer;
79
80 static const char default_seat[] = "seat0";
81
82@@ -502,7 +506,7 @@ static void fbdev_output_disable(struct weston_output *base);
83
84 static int
85 fbdev_output_create(struct fbdev_compositor *compositor,
86- const char *device)
87+ int x, int y, const char *device)
88 {
89 struct fbdev_output *output;
90 pixman_transform_t transform;
91@@ -512,7 +516,8 @@ fbdev_output_create(struct fbdev_compositor *compositor,
92 unsigned int bytes_per_pixel;
93 struct wl_event_loop *loop;
94
95- weston_log("Creating fbdev output.\n");
96+
97+ weston_log("Creating fbdev output. %s x=%d y=%d\n", device, x, y);
98
99 output = calloc(1, sizeof *output);
100 if (!output)
101@@ -559,7 +564,7 @@ fbdev_output_create(struct fbdev_compositor *compositor,
102 output->base.model = output->fb_info.id;
103
104 weston_output_init(&output->base, &compositor->base,
105- 0, 0, output->fb_info.width_mm,
106+ x, y, output->fb_info.width_mm,
107 output->fb_info.height_mm,
108 WL_OUTPUT_TRANSFORM_NORMAL,
109 1);
110@@ -629,14 +634,40 @@ fbdev_output_create(struct fbdev_compositor *compositor,
111 if (compositor->use_pixman) {
112 if (pixman_renderer_output_create(&output->base) < 0)
113 goto out_shadow_surface;
114- } else {
115+ }
116+ else if(compositor->use_gal2d) {
117+
118+ char* fbenv = getenv("FB_FRAMEBUFFER_0");
119+ setenv("FB_FRAMEBUFFER_0", device, 1);
120+ output->display = fbGetDisplay(compositor->base.wl_display);
121+ if (output->display == NULL) {
122+ fprintf(stderr, "failed to get display\n");
123+ return 0;
124+ }
125+
126+ output->window = fbCreateWindow(output->display, -1, -1, 0, 0);
127+ if (output->window == NULL) {
128+ fprintf(stderr, "failed to create window\n");
129+ return 0;
130+ }
131+ setenv("FB_FRAMEBUFFER_0", fbenv, 1);
132+
133+ if (gal2d_renderer->output_create(&output->base,
134+ output->display,
135+ (NativeWindowType)output->window) < 0) {
136+ weston_log("gal_renderer_output_create failed.\n");
137+ goto out_shadow_surface;
138+ }
139+
140+ }
141+ else {
142 output->window = fbCreateWindow(compositor->display, -1, -1, 0, 0);
143 if (output->window == NULL) {
144 fprintf(stderr, "failed to create window\n");
145 return 0;
146 }
147 if (gl_renderer->output_create(&output->base,
148- (EGLNativeWindowType)output->window) < 0) {
149+ (NativeWindowType)output->window) < 0) {
150 weston_log("gl_renderer_output_create failed.\n");
151 goto out_shadow_surface;
152 }
153@@ -695,7 +726,11 @@ fbdev_output_destroy(struct weston_output *base)
154 free(output->shadow_buf);
155 output->shadow_buf = NULL;
156 }
157- } else {
158+ }
159+ else if (compositor->use_gal2d) {
160+ gal2d_renderer->output_destroy(base);
161+ }
162+ else {
163 gl_renderer->output_destroy(base);
164 }
165
166@@ -758,7 +793,7 @@ fbdev_output_reenable(struct fbdev_compositor *compositor,
167 * are re-initialised. */
168 device = output->device;
169 fbdev_output_destroy(base);
170- fbdev_output_create(compositor, device);
171+ fbdev_output_create(compositor, 0, 0, device);
172
173 return 0;
174 }
175@@ -911,7 +946,10 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
176 compositor->base.restore = fbdev_restore;
177
178 compositor->prev_state = WESTON_COMPOSITOR_ACTIVE;
179- compositor->use_pixman = !param->use_gl;
180+ compositor->use_gal2d = param->use_gal2d;
181+ weston_log("compositor->use_gal2d=%d\n", compositor->use_gal2d);
182+ if(param->use_gl == 0 && param->use_gal2d == 0)
183+ compositor->use_pixman = 1;
184
185 for (key = KEY_F1; key < KEY_F9; key++)
186 weston_compositor_add_key_binding(&compositor->base, key,
187@@ -921,7 +959,50 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
188 if (compositor->use_pixman) {
189 if (pixman_renderer_init(&compositor->base) < 0)
190 goto out_launcher;
191- } else {
192+ }
193+ else if (compositor->use_gal2d) {
194+ int x = 0, y = 0;
195+ int i=0;
196+ int count = 0;
197+ int k=0, dispCount = 0;
198+ char displays[5][32];
199+ gal2d_renderer = weston_load_module("gal2d-renderer.so",
200+ "gal2d_renderer_interface");
201+ if (!gal2d_renderer) {
202+ weston_log("could not load gal2d renderer\n");
203+ goto out_launcher;
204+ }
205+
206+ if (gal2d_renderer->create(&compositor->base) < 0) {
207+ weston_log("gal2d_renderer_create failed.\n");
208+ goto out_launcher;
209+ }
210+
211+ weston_log("param->device=%s\n",param->device);
212+ count = strlen(param->device);
213+
214+ for(i= 0; i < count; i++) {
215+ if(param->device[i] == ',') {
216+ displays[dispCount][k] = '\0';
217+ dispCount++;
218+ k = 0;
219+ continue;
220+ }
221+ displays[dispCount][k++] = param->device[i];
222+ }
223+ displays[dispCount][k] = '\0';
224+ dispCount++;
225+
226+ for(i=0; i<dispCount; i++)
227+ {
228+ if (fbdev_output_create(compositor, x, y, displays[i]) < 0)
229+ goto out_pixman;
230+ x += container_of(compositor->base.output_list.prev,
231+ struct weston_output,
232+ link)->width;
233+ }
234+ }
235+ else {
236 gl_renderer = weston_load_module("gl-renderer.so",
237 "gl_renderer_interface");
238 if (!gl_renderer) {
239@@ -942,9 +1023,9 @@ fbdev_compositor_create(struct wl_display *display, int *argc, char *argv[],
240 goto out_launcher;
241 }
242 }
243-
244- if (fbdev_output_create(compositor, param->device) < 0)
245- goto out_pixman;
246+ if(!compositor->use_gal2d)
247+ if (fbdev_output_create(compositor, 0, 0, param->device) < 0)
248+ goto out_pixman;
249
250 udev_input_init(&compositor->input, &compositor->base, compositor->udev, seat_id);
251
252@@ -977,13 +1058,15 @@ backend_init(struct wl_display *display, int *argc, char *argv[],
253 struct fbdev_parameters param = {
254 .tty = 0, /* default to current tty */
255 .device = "/dev/fb0", /* default frame buffer */
256- .use_gl = 0,
257+ .use_gl = 1,
258+ .use_gal2d = 0,
259 };
260
261 const struct weston_option fbdev_options[] = {
262 { WESTON_OPTION_INTEGER, "tty", 0, &param.tty },
263 { WESTON_OPTION_STRING, "device", 0, &param.device },
264- { WESTON_OPTION_BOOLEAN, "use-gl", 0, &param.use_gl },
265+ { WESTON_OPTION_INTEGER, "use-gl", 0, &param.use_gl },
266+ { WESTON_OPTION_INTEGER, "use-gal2d", 0, &param.use_gal2d },
267 };
268
269 parse_options(fbdev_options, ARRAY_LENGTH(fbdev_options), argc, argv);
270diff --git a/src/gal2d-renderer.c b/src/gal2d-renderer.c
271new file mode 100644
272index 0000000..be7af3c
273--- /dev/null
274+++ b/src/gal2d-renderer.c
275@@ -0,0 +1,1186 @@
276+/*
277+ * Copyright (c) 2014 Freescale Semiconductor, Inc.
278+ * Copyright © 2012 Intel Corporation
279+ *
280+ * Permission to use, copy, modify, distribute, and sell this software and
281+ * its documentation for any purpose is hereby granted without fee, provided
282+ * that the above copyright notice appear in all copies and that both that
283+ * copyright notice and this permission notice appear in supporting
284+ * documentation, and that the name of the copyright holders not be used in
285+ * advertising or publicity pertaining to distribution of the software
286+ * without specific, written prior permission. The copyright holders make
287+ * no representations about the suitability of this software for any
288+ * purpose. It is provided "as is" without express or implied warranty.
289+ *
290+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
291+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
292+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
293+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
294+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
295+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
296+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
297+ */
298+
299+#define _GNU_SOURCE
300+
301+#include <stdlib.h>
302+#include <string.h>
303+#include <ctype.h>
304+#include <float.h>
305+#include <assert.h>
306+#include "compositor.h"
307+#include "gal2d-renderer.h"
308+#include "vertex-clipping.h"
309+#include "HAL/gc_hal.h"
310+#include "HAL/gc_hal_raster.h"
311+#include "HAL/gc_hal_eglplatform.h"
312+
313+#define galONERROR(x) if(status < 0) printf("Error in function %s\n", __func__);
314+
315+
316+struct gal2d_output_state {
317+
318+ int current_buffer;
319+ pixman_region32_t buffer_damage[2];
320+ EGLNativeDisplayType display;
321+ gcoSURF* renderSurf;
322+ gctUINT32 nNumBuffers;
323+ int activebuffer;
324+ gcoSURF offscreenSurface;
325+ gceSURF_FORMAT format;
326+ gcoSURF tempSurf;
327+};
328+
329+struct gal2d_surface_state {
330+ float color[4];
331+ struct weston_buffer_reference buffer_ref;
332+ int pitch; /* in pixels */
333+ pixman_region32_t texture_damage;
334+ gcoSURF gco_Surface;
335+
336+ struct weston_surface *surface;
337+ struct wl_listener surface_destroy_listener;
338+ struct wl_listener renderer_destroy_listener;
339+};
340+
341+struct gal2d_renderer {
342+ struct weston_renderer base;
343+ struct wl_signal destroy_signal;
344+ gcoOS gcos;
345+ gcoHAL gcoHal;
346+ gco2D gcoEngine2d;
347+ gctPOINTER localInfo;
348+};
349+
350+static int
351+gal2d_renderer_create_surface(struct weston_surface *surface);
352+
353+static inline struct gal2d_surface_state *
354+get_surface_state(struct weston_surface *surface)
355+{
356+ if (!surface->renderer_state)
357+ gal2d_renderer_create_surface(surface);
358+ return (struct gal2d_surface_state *)surface->renderer_state;
359+}
360+
361+static inline struct gal2d_renderer *
362+get_renderer(struct weston_compositor *ec)
363+{
364+ return (struct gal2d_renderer *)ec->renderer;
365+}
366+
367+
368+
369+#define max(a, b) (((a) > (b)) ? (a) : (b))
370+#define min(a, b) (((a) > (b)) ? (b) : (a))
371+/*
372+ * Compute the boundary vertices of the intersection of the global coordinate
373+ * aligned rectangle 'rect', and an arbitrary quadrilateral produced from
374+ * 'surf_rect' when transformed from surface coordinates into global coordinates.
375+ * The vertices are written to 'ex' and 'ey', and the return value is the
376+ * number of vertices. Vertices are produced in clockwise winding order.
377+ * Guarantees to produce either zero vertices, or 3-8 vertices with non-zero
378+ * polygon area.
379+ */
380+static int
381+calculate_edges(struct weston_view *ev, pixman_box32_t *rect,
382+ pixman_box32_t *surf_rect, float *ex, float *ey)
383+{
384+
385+ struct clip_context ctx;
386+ int i, n;
387+ float min_x, max_x, min_y, max_y;
388+ struct polygon8 surf = {
389+ { surf_rect->x1, surf_rect->x2, surf_rect->x2, surf_rect->x1 },
390+ { surf_rect->y1, surf_rect->y1, surf_rect->y2, surf_rect->y2 },
391+ 4
392+ };
393+
394+ ctx.clip.x1 = rect->x1;
395+ ctx.clip.y1 = rect->y1;
396+ ctx.clip.x2 = rect->x2;
397+ ctx.clip.y2 = rect->y2;
398+
399+ /* transform surface to screen space: */
400+ for (i = 0; i < surf.n; i++)
401+ weston_view_to_global_float(ev, surf.x[i], surf.y[i],
402+ &surf.x[i], &surf.y[i]);
403+
404+ /* find bounding box: */
405+ min_x = max_x = surf.x[0];
406+ min_y = max_y = surf.y[0];
407+
408+ for (i = 1; i < surf.n; i++) {
409+ min_x = min(min_x, surf.x[i]);
410+ max_x = max(max_x, surf.x[i]);
411+ min_y = min(min_y, surf.y[i]);
412+ max_y = max(max_y, surf.y[i]);
413+ }
414+
415+ /* First, simple bounding box check to discard early transformed
416+ * surface rects that do not intersect with the clip region:
417+ */
418+ if ((min_x >= ctx.clip.x2) || (max_x <= ctx.clip.x1) ||
419+ (min_y >= ctx.clip.y2) || (max_y <= ctx.clip.y1))
420+ return 0;
421+
422+ /* Simple case, bounding box edges are parallel to surface edges,
423+ * there will be only four edges. We just need to clip the surface
424+ * vertices to the clip rect bounds:
425+ */
426+ if (!ev->transform.enabled)
427+ return clip_simple(&ctx, &surf, ex, ey);
428+
429+ /* Transformed case: use a general polygon clipping algorithm to
430+ * clip the surface rectangle with each side of 'rect'.
431+ * The algorithm is Sutherland-Hodgman, as explained in
432+ * http://www.codeguru.com/cpp/misc/misc/graphics/article.php/c8965/Polygon-Clipping.htm
433+ * but without looking at any of that code.
434+ */
435+ n = clip_transformed(&ctx, &surf, ex, ey);
436+
437+ if (n < 3)
438+ return 0;
439+
440+ return n;
441+}
442+
443+
444+static inline struct gal2d_output_state *
445+get_output_state(struct weston_output *output)
446+{
447+ return (struct gal2d_output_state *)output->renderer_state;
448+}
449+
450+static gctUINT32
451+galGetStretchFactor(gctINT32 SrcSize, gctINT32 DestSize)
452+{
453+ gctUINT stretchFactor;
454+ if ( (SrcSize > 0) && (DestSize > 1) )
455+ {
456+ stretchFactor = ((SrcSize - 1) << 16) / (DestSize - 1);
457+ }
458+ else
459+ {
460+ stretchFactor = 0;
461+ }
462+ return stretchFactor;
463+}
464+
465+static gceSTATUS
466+galGetStretchFactors(
467+ IN gcsRECT_PTR SrcRect,
468+ IN gcsRECT_PTR DestRect,
469+ OUT gctUINT32 * HorFactor,
470+ OUT gctUINT32 * VerFactor
471+ )
472+{
473+ if (HorFactor != gcvNULL)
474+ {
475+ gctINT32 src, dest;
476+
477+ /* Compute width of rectangles. */
478+ gcmVERIFY_OK(gcsRECT_Width(SrcRect, &src));
479+ gcmVERIFY_OK(gcsRECT_Width(DestRect, &dest));
480+
481+ /* Compute and return horizontal stretch factor. */
482+ *HorFactor = galGetStretchFactor(src, dest);
483+ }
484+
485+ if (VerFactor != gcvNULL)
486+ {
487+ gctINT32 src, dest;
488+
489+ /* Compute height of rectangles. */
490+ gcmVERIFY_OK(gcsRECT_Height(SrcRect, &src));
491+ gcmVERIFY_OK(gcsRECT_Height(DestRect, &dest));
492+
493+ /* Compute and return vertical stretch factor. */
494+ *VerFactor = galGetStretchFactor(src, dest);
495+ }
496+ /* Success. */
497+ return gcvSTATUS_OK;
498+}
499+
500+static gceSTATUS
501+gal2d_getSurfaceFormat(halDISPLAY_INFO info, gceSURF_FORMAT * Format)
502+{
503+ /* Get the color format. */
504+ switch (info.greenLength)
505+ {
506+ case 4:
507+ if (info.blueOffset == 0)
508+ {
509+ *Format = (info.alphaLength == 0) ? gcvSURF_X4R4G4B4 : gcvSURF_A4R4G4B4;
510+ }
511+ else
512+ {
513+ *Format = (info.alphaLength == 0) ? gcvSURF_X4B4G4R4 : gcvSURF_A4B4G4R4;
514+ }
515+ break;
516+
517+ case 5:
518+ if (info.blueOffset == 0)
519+ {
520+ *Format = (info.alphaLength == 0) ? gcvSURF_X1R5G5B5 : gcvSURF_A1R5G5B5;
521+ }
522+ else
523+ {
524+ *Format = (info.alphaLength == 0) ? gcvSURF_X1B5G5R5 : gcvSURF_A1B5G5R5;
525+ }
526+ break;
527+
528+ case 6:
529+ *Format = gcvSURF_R5G6B5;
530+ break;
531+
532+ case 8:
533+ if (info.blueOffset == 0)
534+ {
535+ *Format = (info.alphaLength == 0) ? gcvSURF_X8R8G8B8 : gcvSURF_A8R8G8B8;
536+ }
537+ else
538+ {
539+ *Format = (info.alphaLength == 0) ? gcvSURF_X8B8G8R8 : gcvSURF_A8B8G8R8;
540+ }
541+ break;
542+
543+ default:
544+ /* Unsupported color depth. */
545+ return gcvSTATUS_INVALID_ARGUMENT;
546+ }
547+ /* Success. */
548+ return gcvSTATUS_OK;
549+}
550+
551+static gceSTATUS galIsYUVFormat(IN gceSURF_FORMAT Format)
552+{
553+ switch (Format)
554+ {
555+ case gcvSURF_YUY2:
556+ case gcvSURF_UYVY:
557+ case gcvSURF_I420:
558+ case gcvSURF_YV12:
559+ case gcvSURF_NV16:
560+ case gcvSURF_NV12:
561+ case gcvSURF_NV61:
562+ case gcvSURF_NV21:
563+
564+ return gcvSTATUS_TRUE;
565+
566+ default:
567+ return gcvSTATUS_FALSE;
568+ }
569+}
570+
571+static gceSTATUS galQueryUVStride(
572+ IN gceSURF_FORMAT Format,
573+ IN gctUINT32 yStride,
574+ OUT gctUINT32_PTR uStride,
575+ OUT gctUINT32_PTR vStride
576+ )
577+{
578+ switch (Format)
579+ {
580+ case gcvSURF_YUY2:
581+ case gcvSURF_UYVY:
582+ *uStride = *vStride = 0;
583+ break;
584+
585+ case gcvSURF_I420:
586+ case gcvSURF_YV12:
587+ *uStride = *vStride = yStride / 2;
588+ break;
589+
590+ case gcvSURF_NV16:
591+ case gcvSURF_NV12:
592+ case gcvSURF_NV61:
593+ case gcvSURF_NV21:
594+
595+ *uStride = yStride;
596+ *vStride = 0;
597+ break;
598+
599+ default:
600+ return gcvSTATUS_NOT_SUPPORTED;
601+ }
602+
603+ return gcvSTATUS_OK;
604+}
605+
606+static int
607+make_current(struct gal2d_renderer *gr, gcoSURF surface)
608+{
609+ gceSTATUS status = gcvSTATUS_OK;
610+ gctUINT width = 0;
611+ gctUINT height = 0;
612+ gctINT stride = 0;
613+ gctUINT32 physical;
614+ gctPOINTER va =0;
615+
616+ if(!surface)
617+ goto OnError;
618+
619+
620+ gcmONERROR(gcoSURF_GetAlignedSize(surface, &width, &height, &stride));
621+
622+ gcmONERROR(gcoSURF_Lock(surface, &physical, (gctPOINTER *)&va));
623+
624+ gcmONERROR(gco2D_SetTargetEx(gr->gcoEngine2d, physical, stride,
625+ gcvSURF_0_DEGREE, width, height));
626+
627+ gcmONERROR(gcoSURF_Unlock(surface, (gctPOINTER *)&va));
628+
629+OnError:
630+ galONERROR(status);
631+ return status;
632+}
633+
634+static gceSTATUS
635+gal2d_clear(struct weston_output *base)
636+{
637+ struct gal2d_renderer *gr = get_renderer(base->compositor);
638+ struct gal2d_output_state *go = get_output_state(base);
639+ gceSTATUS status = gcvSTATUS_OK;
640+
641+ gctINT stride = 0;
642+ gctUINT width = 0, height = 0;
643+ gcsRECT dstRect = {0};
644+ gcmONERROR(gcoSURF_GetAlignedSize(go->renderSurf[go->activebuffer],
645+ &width, &height, &stride));
646+ dstRect.right = width;
647+ dstRect.bottom = height;
648+ gcmONERROR(gco2D_SetSource(gr->gcoEngine2d, &dstRect));
649+ gcmONERROR(gco2D_SetClipping(gr->gcoEngine2d, &dstRect));
650+ gcmONERROR(gco2D_Clear(gr->gcoEngine2d, 1, &dstRect, 0xff0000ff, 0xCC, 0xCC, go->format));
651+
652+ gcmONERROR(gcoHAL_Commit(gr->gcoHal, gcvFALSE));
653+
654+OnError:
655+ galONERROR(status);
656+
657+ return status;
658+}
659+
660+static gcoSURF getSurfaceFromShm(struct weston_surface *es, struct weston_buffer *buffer)
661+{
662+ struct gal2d_renderer *gr = get_renderer(es->compositor);
663+
664+ gcoSURF surface = 0;
665+ gceSURF_FORMAT format;
666+ gcePOOL pool = gcvPOOL_DEFAULT;
667+
668+ if (wl_shm_buffer_get_format(buffer->shm_buffer) == WL_SHM_FORMAT_XRGB8888)
669+ format = gcvSURF_X8R8G8B8;
670+ else
671+ format = gcvSURF_A8R8G8B8;
672+
673+ if(buffer->width == ((buffer->width + 0x7) & ~0x7))
674+ {
675+ pool = gcvPOOL_USER;
676+ }
677+
678+ gcmVERIFY_OK(gcoSURF_Construct(gr->gcoHal,
679+ (gctUINT) buffer->width,
680+ (gctUINT) buffer->height,
681+ 1, gcvSURF_BITMAP,
682+ format, pool, &surface));
683+
684+ if(pool == gcvPOOL_USER)
685+ {
686+ gcmVERIFY_OK(gcoSURF_MapUserSurface(surface, 1,
687+ (gctPOINTER)wl_shm_buffer_get_data(buffer->shm_buffer), gcvINVALID_ADDRESS));
688+ }
689+
690+ return surface;
691+}
692+
693+static int
694+gal2dBindBuffer(struct weston_surface* es)
695+{
696+ struct gal2d_surface_state *gs = get_surface_state(es);
697+ gceSTATUS status = gcvSTATUS_OK;
698+ gcoSURF surface = gs->gco_Surface;
699+ struct weston_buffer *buffer = gs->buffer_ref.buffer;
700+ gcePOOL pool = gcvPOOL_DEFAULT;
701+ gctUINT64 node = 0;
702+ gctUINT bytes;
703+
704+ gcmVERIFY_OK(gcoSURF_QueryVidMemNode(surface, &node,
705+ &pool, &bytes));
706+
707+ if(pool != gcvPOOL_USER)
708+ {
709+ gctUINT alignedWidth;
710+ gctPOINTER logical = (gctPOINTER)wl_shm_buffer_get_data(buffer->shm_buffer);
711+ gctPOINTER va =0;
712+
713+
714+ gcmVERIFY_OK(gcoSURF_GetAlignedSize(surface, &alignedWidth, gcvNULL, gcvNULL));
715+ gcmVERIFY_OK(gcoSURF_Lock(surface, gcvNULL, (gctPOINTER *)&va));
716+
717+ if(alignedWidth == (unsigned int)buffer->width)
718+ {
719+ int size = wl_shm_buffer_get_stride(buffer->shm_buffer)*buffer->height;
720+ memcpy(va, logical, size);
721+ }
722+ else
723+ {
724+ int i, j;
725+ for (i = 0; i < buffer->height; i++)
726+ {
727+ for (j = 0; j < buffer->width; j++)
728+ {
729+ gctUINT dstOff = i * alignedWidth + j;
730+ gctUINT srcOff = (i * buffer->width + j);
731+
732+ memcpy(va + dstOff * 4, logical + srcOff * 4, 4);
733+ }
734+ }
735+ }
736+ gcmVERIFY_OK(gcoSURF_Unlock(surface, (gctPOINTER)va));
737+ }
738+
739+ return status;
740+}
741+
742+static void
743+gal2d_flip_surface(struct weston_output *output)
744+{
745+ struct gal2d_renderer *gr = get_renderer(output->compositor);
746+ struct gal2d_output_state *go = get_output_state(output);
747+
748+ if(go->nNumBuffers > 1)
749+ {
750+ gctUINT Offset;
751+ gctINT X;
752+ gctINT Y;
753+ gcmVERIFY_OK(gcoHAL_Commit(gr->gcoHal, gcvTRUE));
754+
755+ gcmVERIFY_OK(gcoOS_GetDisplayBackbuffer(go->display, gcvNULL,
756+ gcvNULL, gcvNULL, &Offset, &X, &Y));
757+
758+ gcmVERIFY_OK(gcoOS_SetDisplayVirtual(go->display, gcvNULL,
759+ Offset, X, Y));
760+
761+ go->activebuffer = (go->activebuffer+1) % go->nNumBuffers;
762+ }
763+}
764+
765+static int
766+update_surface(struct weston_output *output)
767+{
768+ struct gal2d_renderer *gr = get_renderer(output->compositor);
769+ struct gal2d_output_state *go = get_output_state(output);
770+ gceSTATUS status = gcvSTATUS_OK;
771+
772+ if(go->offscreenSurface && go->nNumBuffers == 1)
773+ {
774+ make_current(gr, go->renderSurf[go->activebuffer]);
775+
776+ gctUINT srcWidth = 0;
777+ gctUINT srcHeight = 0;
778+ gctINT srcStride = 0;
779+ gceSURF_FORMAT srcFormat;;
780+ gcsRECT dstRect = {0};
781+ gcoSURF srcSurface = go->offscreenSurface;
782+ gctUINT32 physical;
783+ gctPOINTER va =0;
784+
785+ gcmONERROR(gcoSURF_GetAlignedSize(srcSurface, &srcWidth, &srcHeight, &srcStride));
786+ gcmONERROR(gcoSURF_GetFormat(srcSurface, gcvNULL, &srcFormat));
787+ gcmONERROR(gcoSURF_Lock(srcSurface, &physical, (gctPOINTER *)&va));
788+ gcmONERROR(gco2D_SetColorSource(gr->gcoEngine2d, physical, srcStride, srcFormat,
789+ gcvFALSE, srcWidth, gcvFALSE, gcvSURF_OPAQUE, 0));
790+
791+ dstRect.left = 0;
792+ dstRect.top = 0;
793+ dstRect.right = srcWidth;
794+ dstRect.bottom = srcHeight;
795+
796+ gcmONERROR(gco2D_SetSource(gr->gcoEngine2d, &dstRect));
797+ gcmONERROR(gco2D_SetClipping(gr->gcoEngine2d, &dstRect));
798+ gcmONERROR(gco2D_Blit(gr->gcoEngine2d, 1, &dstRect, 0xCC, 0xCC, go->format));
799+ gcmONERROR(gcoSURF_Unlock(srcSurface, (gctPOINTER *)&va));
800+ gcmONERROR(gcoHAL_Commit(gr->gcoHal, gcvFALSE));
801+ }
802+
803+ gal2d_flip_surface(output);
804+
805+OnError:
806+ galONERROR(status);
807+ return status;
808+ }
809+
810+static int
811+use_output(struct weston_output *output)
812+{
813+ struct gal2d_output_state *go = get_output_state(output);
814+ struct gal2d_renderer *gr = get_renderer(output->compositor);
815+ gceSTATUS status = gcvSTATUS_OK;
816+
817+ gcoSURF surface;
818+ surface = go->nNumBuffers > 1 ?
819+ go->renderSurf[go->activebuffer] :
820+ go->offscreenSurface; /*go->renderSurf[0];*/
821+ make_current(gr, surface);
822+ return status;
823+}
824+
825+static int
826+gal2d_renderer_read_pixels(struct weston_output *output,
827+ pixman_format_code_t format, void *pixels,
828+ uint32_t x, uint32_t y,
829+ uint32_t width, uint32_t height)
830+{
831+ return 0;
832+}
833+
834+static int gal2d_int_from_double(double d)
835+{
836+ return wl_fixed_to_int(wl_fixed_from_double(d));
837+}
838+
839+static void
840+repaint_region(struct weston_view *ev, struct weston_output *output, struct gal2d_output_state *go, pixman_region32_t *region,
841+ pixman_region32_t *surf_region){
842+
843+ struct gal2d_renderer *gr = get_renderer(ev->surface->compositor);
844+ struct gal2d_surface_state *gs = get_surface_state(ev->surface);
845+
846+ pixman_box32_t *rects, *surf_rects, *bb_rects;
847+ int i, j, nrects, nsurf, nbb=0;
848+ gceSTATUS status = gcvSTATUS_OK;
849+ gcoSURF srcSurface = gs->gco_Surface;
850+ gcsRECT srcRect = {0};
851+ gcsRECT dstrect = {0};
852+ gctUINT32 horFactor, verFactor;
853+ int useStretch =1;
854+ int useFilterBlit = 0;
855+ gctUINT srcWidth = 0;
856+ gctUINT srcHeight = 0;
857+ gctUINT32 srcStride[3];
858+ gceSURF_FORMAT srcFormat;;
859+ gctUINT32 srcPhyAddr[3];
860+ gctUINT32 dstPhyAddr[3];
861+ gctUINT dstWidth = 0;
862+ gctUINT dstHeight = 0;
863+ gctUINT32 dstStrides[3];
864+ gcoSURF dstsurface;
865+ int geoWidth = ev->surface->width;
866+ int geoheight = ev->surface->height;
867+
868+ bb_rects = pixman_region32_rectangles(&ev->transform.boundingbox, &nbb);
869+
870+ if(!srcSurface || nbb <= 0)
871+ goto OnError;
872+ rects = pixman_region32_rectangles(region, &nrects);
873+ surf_rects = pixman_region32_rectangles(surf_region, &nsurf);
874+
875+ gcmVERIFY_OK(gcoSURF_GetAlignedSize(srcSurface, &srcWidth, &srcHeight, (gctINT *)&srcStride[0]));
876+
877+ gcmVERIFY_OK(gcoSURF_GetFormat(srcSurface, gcvNULL, &srcFormat));
878+
879+ if(galIsYUVFormat(srcFormat) == gcvSTATUS_TRUE)
880+ {
881+ useFilterBlit = 1;
882+ }
883+
884+ gcmVERIFY_OK(gcoSURF_Lock(srcSurface, &srcPhyAddr[0], gcvNULL));
885+
886+ gcmVERIFY_OK(gcoSURF_Unlock(srcSurface, gcvNULL));
887+
888+ srcRect.left = ev->geometry.x < 0.0 ? gal2d_int_from_double(fabsf(ev->geometry.x)) : 0;
889+ srcRect.top = 0; /*es->geometry.y < 0.0 ? gal2d_int_from_double(fabsf(es->geometry.y)) : 0;*/
890+ srcRect.right = ev->surface->width;
891+ srcRect.bottom = ev->surface->height;
892+
893+ if(useFilterBlit)
894+ {
895+ dstsurface = go->nNumBuffers > 1 ?
896+ go->renderSurf[go->activebuffer] :
897+ go->offscreenSurface;
898+ gcmVERIFY_OK(gcoSURF_GetAlignedSize(dstsurface, &dstWidth, &dstHeight, (gctINT *)&dstStrides));
899+ gcmVERIFY_OK(gcoSURF_Lock(dstsurface, &dstPhyAddr[0], gcvNULL));
900+ gcmVERIFY_OK(gcoSURF_Unlock(dstsurface, gcvNULL));
901+ }
902+ else
903+ {
904+ gcmVERIFY_OK(gco2D_SetColorSourceEx(gr->gcoEngine2d, srcPhyAddr[0], srcStride[0], srcFormat,
905+ gcvFALSE, srcWidth, srcHeight, gcvFALSE, gcvSURF_OPAQUE, 0));
906+ gcmVERIFY_OK(gco2D_SetSource(gr->gcoEngine2d, &srcRect));
907+ }
908+
909+ for (i = 0; i < nrects; i++)
910+ {
911+ pixman_box32_t *rect = &rects[i];
912+ gctFLOAT min_x, max_x, min_y, max_y;
913+
914+ dstrect.left = (bb_rects[0].x1 < 0) ? rect->x1 : bb_rects[0].x1;
915+ dstrect.top = (bb_rects[0].y1 < 0) ? rect->y1 : bb_rects[0].y1;
916+ dstrect.right = bb_rects[0].x2;
917+ dstrect.bottom = bb_rects[0].y2;
918+
919+ if(dstrect.right < 0 || dstrect.bottom < 0)
920+ {
921+ break;
922+ }
923+
924+ for (j = 0; j < nsurf; j++)
925+ {
926+ pixman_box32_t *surf_rect = &surf_rects[j];
927+ gctFLOAT ex[8], ey[8]; /* edge points in screen space */
928+ int n;
929+ gcsRECT clipRect = {0};
930+ int m=0;
931+ n = calculate_edges(ev, rect, surf_rect, ex, ey);
932+ if (n < 3)
933+ continue;
934+
935+ min_x = max_x = ex[0];
936+ min_y = max_y = ey[0];
937+ for (m = 1; m < n; m++)
938+ {
939+ min_x = min(min_x, ex[m]);
940+ max_x = max(max_x, ex[m]);
941+ min_y = min(min_y, ey[m]);
942+ max_y = max(max_y, ey[m]);
943+ }
944+
945+ clipRect.left = gal2d_int_from_double(min_x);
946+ clipRect.top = gal2d_int_from_double(min_y);
947+ clipRect.right = gal2d_int_from_double(max_x);
948+ clipRect.bottom = gal2d_int_from_double(max_y);
949+
950+ if(output->x > 0)
951+ {
952+ dstrect.left = dstrect.left - output->x;
953+ dstrect.right = dstrect.right - output->x;
954+ clipRect.left = clipRect.left - output->x;
955+ clipRect.right = clipRect.right - output->x;
956+ }
957+
958+ dstrect.left = (dstrect.left < 0) ? 0 : dstrect.left;
959+
960+ status = gco2D_SetClipping(gr->gcoEngine2d, &clipRect);
961+ if(status < 0)
962+ {
963+ weston_log("Error in gco2D_SetClipping %s\n", __func__);
964+ goto OnError;
965+ }
966+
967+ if(useFilterBlit)
968+ {
969+ gctINT srcStrideNum;
970+ gctINT srcAddressNum;
971+ gcmVERIFY_OK(galQueryUVStride(srcFormat, srcStride[0],
972+ &srcStride[1], &srcStride[2]));
973+
974+ switch (srcFormat)
975+ {
976+ case gcvSURF_YUY2:
977+ case gcvSURF_UYVY:
978+ srcStrideNum = srcAddressNum = 1;
979+ break;
980+
981+ case gcvSURF_I420:
982+ case gcvSURF_YV12:
983+ srcStrideNum = srcAddressNum = 3;
984+ break;
985+
986+ case gcvSURF_NV16:
987+ case gcvSURF_NV12:
988+ case gcvSURF_NV61:
989+ case gcvSURF_NV21:
990+ srcStrideNum = srcAddressNum = 2;
991+ break;
992+
993+ default:
994+ gcmONERROR(gcvSTATUS_NOT_SUPPORTED);
995+ }
996+ gco2D_FilterBlitEx2(gr->gcoEngine2d,
997+ srcPhyAddr, srcAddressNum,
998+ srcStride, srcStrideNum,
999+ gcvLINEAR, srcFormat, gcvSURF_0_DEGREE,
1000+ geoWidth, geoheight, &srcRect,
1001+ dstPhyAddr, 1,
1002+ dstStrides, 1,
1003+ gcvLINEAR, go->format, gcvSURF_0_DEGREE,
1004+ dstWidth, dstHeight,
1005+ &dstrect, gcvNULL);
1006+ }
1007+ else
1008+ {
1009+ if(useStretch)
1010+ gcmVERIFY_OK(galGetStretchFactors(&srcRect, &dstrect, &horFactor, &verFactor));
1011+
1012+ if(verFactor == 65536 && horFactor == 65536)
1013+ {
1014+ gcmVERIFY_OK(gco2D_Blit(gr->gcoEngine2d, 1, &dstrect,
1015+ 0xCC, 0xCC, go->format));
1016+ }
1017+ else
1018+ {
1019+ /* Program the stretch factors. */
1020+ gcmVERIFY_OK(gco2D_SetStretchFactors(gr->gcoEngine2d, horFactor, verFactor));
1021+
1022+ gcmVERIFY_OK(gco2D_StretchBlit(gr->gcoEngine2d, 1, &dstrect,
1023+ 0xCC, 0xCC, go->format));
1024+ }
1025+ }
1026+ if(status < 0)
1027+ {
1028+ printf("cr l=%d r=%d t=%d b=%d w=%d h=%d\n",
1029+ clipRect.left, clipRect.right, clipRect.top ,clipRect.bottom,
1030+ clipRect.right - clipRect.left, clipRect.bottom -clipRect.top);
1031+ printf("dr l=%d r=%d t=%d b=%d w=%d h=%d\n",
1032+ dstrect.left, dstrect.right, dstrect.top ,dstrect.bottom,
1033+ dstrect.right - dstrect.left, dstrect.bottom -dstrect.top);
1034+ printf("horFactor=%d, verFactor=%d\n",horFactor, verFactor);
1035+
1036+ goto OnError;
1037+ }
1038+ }
1039+ status = (gcoHAL_Commit(gr->gcoHal, gcvFALSE));
1040+ if(status < 0)
1041+ {
1042+ printf("Error in gcoHAL_Commit %s\n", __func__);
1043+ goto OnError;
1044+ }
1045+ }
1046+
1047+OnError:
1048+ galONERROR(status);
1049+}
1050+
1051+static void
1052+draw_view(struct weston_view *ev, struct weston_output *output,
1053+ pixman_region32_t *damage) /* in global coordinates */
1054+{
1055+ struct weston_compositor *ec = ev->surface->compositor;
1056+ struct gal2d_output_state *go = get_output_state(output);
1057+ /* repaint bounding region in global coordinates: */
1058+ pixman_region32_t repaint;
1059+ /* non-opaque region in surface coordinates: */
1060+ pixman_region32_t surface_blend;
1061+ pixman_region32_t *buffer_damage;
1062+
1063+ pixman_region32_init(&repaint);
1064+ pixman_region32_intersect(&repaint,
1065+ &ev->transform.boundingbox, damage);
1066+ pixman_region32_subtract(&repaint, &repaint, &ev->clip);
1067+
1068+ if (!pixman_region32_not_empty(&repaint))
1069+ goto out;
1070+
1071+ buffer_damage = &go->buffer_damage[go->current_buffer];
1072+ pixman_region32_subtract(buffer_damage, buffer_damage, &repaint);
1073+
1074+ /* blended region is whole surface minus opaque region: */
1075+ pixman_region32_init_rect(&surface_blend, 0, 0,
1076+ ev->surface->width, ev->surface->height);
1077+ pixman_region32_subtract(&surface_blend, &surface_blend, &ev->surface->opaque);
1078+
1079+ if (pixman_region32_not_empty(&ev->surface->opaque)) {
1080+
1081+ repaint_region(ev, output, go, &repaint, &ev->surface->opaque);
1082+ }
1083+
1084+ if (pixman_region32_not_empty(&surface_blend)) {
1085+ struct gal2d_renderer *gr = get_renderer(ec);
1086+
1087+ gco2D_EnableAlphaBlend(gr->gcoEngine2d,
1088+ ev->alpha * 0xFF, ev->alpha * 0xFF,
1089+ gcvSURF_PIXEL_ALPHA_STRAIGHT, gcvSURF_PIXEL_ALPHA_STRAIGHT,
1090+ gcvSURF_GLOBAL_ALPHA_OFF, gcvSURF_GLOBAL_ALPHA_OFF,
1091+ gcvSURF_BLEND_ONE, gcvSURF_BLEND_INVERSED,
1092+ gcvSURF_COLOR_STRAIGHT, gcvSURF_COLOR_STRAIGHT);
1093+
1094+ repaint_region(ev, output, go, &repaint, &surface_blend);
1095+ }
1096+
1097+ pixman_region32_fini(&surface_blend);
1098+
1099+out:
1100+ pixman_region32_fini(&repaint);
1101+
1102+}
1103+
1104+static void
1105+repaint_views(struct weston_output *output, pixman_region32_t *damage)
1106+{
1107+ struct weston_compositor *compositor = output->compositor;
1108+ struct weston_view *view;
1109+
1110+ wl_list_for_each_reverse(view, &compositor->view_list, link)
1111+ if (view->plane == &compositor->primary_plane)
1112+ draw_view(view, output, damage);
1113+}
1114+
1115+static void
1116+gal2d_renderer_repaint_output(struct weston_output *output,
1117+ pixman_region32_t *output_damage)
1118+{
1119+ struct gal2d_output_state *go = get_output_state(output);
1120+ gctUINT32 i;
1121+
1122+ if (use_output(output) < 0)
1123+ return;
1124+
1125+ for (i = 0; i < 2; i++)
1126+ pixman_region32_union(&go->buffer_damage[i],
1127+ &go->buffer_damage[i],
1128+ output_damage);
1129+
1130+ pixman_region32_union(output_damage, output_damage,
1131+ &go->buffer_damage[go->current_buffer]);
1132+
1133+ repaint_views(output, output_damage);
1134+
1135+ pixman_region32_copy(&output->previous_damage, output_damage);
1136+ wl_signal_emit(&output->frame_signal, output);
1137+
1138+ update_surface(output);
1139+
1140+ go->current_buffer ^= 1;
1141+}
1142+
1143+static void
1144+gal2d_renderer_flush_damage(struct weston_surface *surface)
1145+{
1146+ struct gal2d_surface_state *gs = get_surface_state(surface);
1147+ struct weston_buffer *buffer = gs->buffer_ref.buffer;
1148+ struct weston_view *view;
1149+ int texture_used;
1150+ pixman_region32_union(&gs->texture_damage,
1151+ &gs->texture_damage, &surface->damage);
1152+
1153+ if (!buffer)
1154+ return;
1155+
1156+ texture_used = 0;
1157+ wl_list_for_each(view, &surface->views, surface_link) {
1158+ if (view->plane == &surface->compositor->primary_plane) {
1159+ texture_used = 1;
1160+ break;
1161+ }
1162+ }
1163+ if (!texture_used)
1164+ return;
1165+
1166+ if (!pixman_region32_not_empty(&gs->texture_damage))
1167+ goto done;
1168+
1169+ if(wl_shm_buffer_get(buffer->resource))
1170+ {
1171+ if(gs->gco_Surface==NULL)
1172+ {
1173+ gs->gco_Surface = getSurfaceFromShm(surface, buffer);
1174+ }
1175+ gal2dBindBuffer(surface);
1176+ }
1177+ else
1178+ {
1179+ gcsWL_VIV_BUFFER *vivBuffer = (gcsWL_VIV_BUFFER *)buffer;
1180+ gs->gco_Surface = vivBuffer->surface;
1181+ }
1182+
1183+done:
1184+ pixman_region32_fini(&gs->texture_damage);
1185+ pixman_region32_init(&gs->texture_damage);
1186+
1187+ weston_buffer_reference(&gs->buffer_ref, NULL);
1188+}
1189+
1190+static void
1191+gal2d_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer)
1192+{
1193+ struct gal2d_surface_state *gs = get_surface_state(es);
1194+ struct wl_shm_buffer *shm_buffer;
1195+ weston_buffer_reference(&gs->buffer_ref, buffer);
1196+
1197+ if(buffer==NULL)
1198+ return;
1199+
1200+ shm_buffer = wl_shm_buffer_get(buffer->resource);
1201+
1202+ if(shm_buffer)
1203+ {
1204+ buffer->width = wl_shm_buffer_get_width(shm_buffer);
1205+ buffer->height = wl_shm_buffer_get_height(shm_buffer);
1206+ buffer->shm_buffer = shm_buffer;
1207+
1208+ if(gs->gco_Surface)
1209+ {
1210+ gcoSURF_Destroy(gs->gco_Surface);
1211+ gs->gco_Surface = getSurfaceFromShm(es, buffer);
1212+ }
1213+ }
1214+ else
1215+ {
1216+ gcsWL_VIV_BUFFER *vivBuffer = wl_resource_get_user_data(buffer->resource);
1217+ gs->gco_Surface = vivBuffer->surface;
1218+
1219+ buffer->width = vivBuffer->width;
1220+ buffer->height = vivBuffer->height;
1221+ }
1222+}
1223+
1224+static void
1225+surface_state_destroy(struct gal2d_surface_state *gs, struct gal2d_renderer *gr)
1226+{
1227+ wl_list_remove(&gs->surface_destroy_listener.link);
1228+ wl_list_remove(&gs->renderer_destroy_listener.link);
1229+ if(gs->surface)
1230+ gs->surface->renderer_state = NULL;
1231+
1232+ free(gs);
1233+}
1234+
1235+static void
1236+surface_state_handle_surface_destroy(struct wl_listener *listener, void *data)
1237+{
1238+ struct gal2d_surface_state *gs;
1239+ struct gal2d_renderer *gr;
1240+
1241+ gs = container_of(listener, struct gal2d_surface_state,
1242+ surface_destroy_listener);
1243+
1244+ gr = get_renderer(gs->surface->compositor);
1245+ surface_state_destroy(gs, gr);
1246+}
1247+
1248+static void
1249+surface_state_handle_renderer_destroy(struct wl_listener *listener, void *data)
1250+{
1251+ struct gal2d_surface_state *gs;
1252+ struct gal2d_renderer *gr;
1253+
1254+ gr = data;
1255+
1256+ gs = container_of(listener, struct gal2d_surface_state,
1257+ renderer_destroy_listener);
1258+
1259+ surface_state_destroy(gs, gr);
1260+}
1261+
1262+
1263+static int
1264+gal2d_renderer_create_surface(struct weston_surface *surface)
1265+{
1266+ struct gal2d_surface_state *gs;
1267+ struct gal2d_renderer *gr = get_renderer(surface->compositor);
1268+
1269+ gs = calloc(1, sizeof *gs);
1270+ if (!gs)
1271+ return -1;
1272+
1273+ /* A buffer is never attached to solid color surfaces, yet
1274+ * they still go through texcoord computations. Do not divide
1275+ * by zero there.
1276+ */
1277+ gs->pitch = 1;
1278+
1279+ gs->surface = surface;
1280+
1281+ pixman_region32_init(&gs->texture_damage);
1282+ surface->renderer_state = gs;
1283+
1284+ gs->surface_destroy_listener.notify =
1285+ surface_state_handle_surface_destroy;
1286+ wl_signal_add(&surface->destroy_signal,
1287+ &gs->surface_destroy_listener);
1288+
1289+ gs->renderer_destroy_listener.notify =
1290+ surface_state_handle_renderer_destroy;
1291+ wl_signal_add(&gr->destroy_signal,
1292+ &gs->renderer_destroy_listener);
1293+
1294+ if (surface->buffer_ref.buffer) {
1295+ gal2d_renderer_attach(surface, surface->buffer_ref.buffer);
1296+ gal2d_renderer_flush_damage(surface);
1297+ }
1298+
1299+ return 0;
1300+}
1301+
1302+static void
1303+gal2d_renderer_surface_set_color(struct weston_surface *surface,
1304+ float red, float green, float blue, float alpha)
1305+{
1306+ struct gal2d_surface_state *gs = get_surface_state(surface);
1307+
1308+ gs->color[0] = red;
1309+ gs->color[1] = green;
1310+ gs->color[2] = blue;
1311+ gs->color[3] = alpha;
1312+}
1313+
1314+
1315+static void
1316+gal2d_renderer_output_destroy(struct weston_output *output)
1317+{
1318+ struct gal2d_output_state *go = get_output_state(output);
1319+ gctUINT32 i;
1320+
1321+ if(go->nNumBuffers <= 1 )
1322+ {
1323+ if(go->offscreenSurface)
1324+ gcmVERIFY_OK(gcoSURF_Destroy(go->offscreenSurface));
1325+ }
1326+
1327+ for(i=0; i < go->nNumBuffers; i++)
1328+ {
1329+ gcmVERIFY_OK(gcoSURF_Destroy(go->renderSurf[i]));
1330+ }
1331+
1332+ free(go->renderSurf);
1333+ go->renderSurf = gcvNULL;
1334+
1335+ free(go);
1336+}
1337+
1338+static void
1339+gal2d_renderer_destroy(struct weston_compositor *ec)
1340+{
1341+ struct gal2d_renderer *gr = get_renderer(ec);
1342+
1343+ wl_signal_emit(&gr->destroy_signal, gr);
1344+ free(ec->renderer);
1345+ ec->renderer = NULL;
1346+}
1347+
1348+
1349+static int
1350+gal2d_renderer_create(struct weston_compositor *ec)
1351+{
1352+ struct gal2d_renderer *gr;
1353+ gceSTATUS status = gcvSTATUS_OK;
1354+ gr = malloc(sizeof *gr);
1355+ if (gr == NULL)
1356+ return -1;
1357+
1358+ gr->base.read_pixels = gal2d_renderer_read_pixels;
1359+ gr->base.repaint_output = gal2d_renderer_repaint_output;
1360+ gr->base.flush_damage = gal2d_renderer_flush_damage;
1361+ gr->base.attach = gal2d_renderer_attach;
1362+ gr->base.surface_set_color = gal2d_renderer_surface_set_color;
1363+ gr->base.destroy = gal2d_renderer_destroy;
1364+
1365+ /* Construct the gcoOS object. */
1366+ gcmONERROR(gcoOS_Construct(gcvNULL, &gr->gcos));
1367+
1368+ /* Construct the gcoHAL object. */
1369+ gcmONERROR(gcoHAL_Construct(gcvNULL, gr->gcos, &gr->gcoHal));
1370+ gcmONERROR(gcoHAL_Get2DEngine(gr->gcoHal, &gr->gcoEngine2d));
1371+ gcmONERROR(gcoHAL_SetHardwareType(gr->gcoHal, gcvHARDWARE_2D));
1372+
1373+ ec->renderer = &gr->base;
1374+ wl_signal_init(&gr->destroy_signal);
1375+OnError:
1376+ galONERROR(status);
1377+
1378+ /* Return the status. */
1379+ return status;
1380+
1381+}
1382+
1383+static int
1384+gal2d_renderer_output_create(struct weston_output *output, EGLNativeDisplayType display,
1385+ EGLNativeWindowType window)
1386+
1387+ {
1388+ struct gal2d_renderer *gr = get_renderer(output->compositor);
1389+ struct gal2d_output_state *go = calloc(1, sizeof *go);
1390+ halDISPLAY_INFO info;
1391+ gctUINT32 backOffset = 0;
1392+ gctINT width, height;
1393+ gceSTATUS status = gcvSTATUS_OK;
1394+ gctUINT32 i;
1395+
1396+ if (!go)
1397+ return -1;
1398+
1399+ output->renderer_state = go;
1400+ go->display = display;
1401+ gcmONERROR(gcoOS_InitLocalDisplayInfo(go->display, &gr->localInfo));
1402+
1403+ /* Get display information. */
1404+ gcmONERROR(gcoOS_GetDisplayInfoEx2(
1405+ go->display, gcvNULL, gr->localInfo,
1406+ sizeof(info), &info));
1407+ go->nNumBuffers = info.multiBuffer;
1408+
1409+ weston_log("Number of buffers=%d\n",go->nNumBuffers);
1410+
1411+ gcmONERROR(gal2d_getSurfaceFormat(info, &go->format));
1412+ backOffset = (gctUINT32)(info.stride * info.height );
1413+
1414+ go->activebuffer = 0;
1415+
1416+ go->renderSurf = malloc(sizeof(gcoSURF) * go->nNumBuffers);
1417+ gcoOS_GetDisplayVirtual(go->display, &width, &height);
1418+ for(i=0; i < go->nNumBuffers; i++)
1419+ {
1420+
1421+ gcmONERROR(gcoSURF_Construct(gr->gcoHal, info.width, info.height, 1,
1422+ gcvSURF_BITMAP, go->format, gcvPOOL_USER, &go->renderSurf[i]));
1423+
1424+ gcoSURF_MapUserSurface(go->renderSurf[i], 0,info.logical + (i * backOffset),
1425+ info.physical + (i * backOffset));
1426+
1427+ //Clear surfaces
1428+ make_current(gr, go->renderSurf[go->activebuffer]);
1429+ gal2d_clear(output);
1430+ gal2d_flip_surface(output);
1431+ }
1432+ if(go->nNumBuffers <= 1)
1433+ go->activebuffer = 0;
1434+ else
1435+ go->activebuffer = 1;
1436+
1437+ if(go->nNumBuffers <= 1 )
1438+ {
1439+ gcmVERIFY_OK(gcoSURF_Construct(gr->gcoHal,
1440+ (gctUINT) info.width,
1441+ (gctUINT) info.height,
1442+ 1,
1443+ gcvSURF_BITMAP,
1444+ go->format,
1445+ gcvPOOL_DEFAULT,
1446+ &go->offscreenSurface));
1447+ make_current(gr, go->offscreenSurface);
1448+ gal2d_clear(output);
1449+ gal2d_flip_surface(output);
1450+ }
1451+OnError:
1452+ galONERROR(status);
1453+ /* Return the status. */
1454+ return status;
1455+ }
1456+
1457+ WL_EXPORT struct gal2d_renderer_interface gal2d_renderer_interface = {
1458+ .create = gal2d_renderer_create,
1459+ .output_create = gal2d_renderer_output_create,
1460+ .output_destroy = gal2d_renderer_output_destroy,
1461+};
1462diff --git a/src/gal2d-renderer.h b/src/gal2d-renderer.h
1463new file mode 100644
1464index 0000000..ebffec1
1465--- /dev/null
1466+++ b/src/gal2d-renderer.h
1467@@ -0,0 +1,43 @@
1468+/*
1469+ * Copyright (c) 2014 Freescale Semiconductor, Inc.
1470+ * Copyright © 2013 Vasily Khoruzhick <anarsoul@gmail.com>
1471+ *
1472+ * Permission to use, copy, modify, distribute, and sell this software and
1473+ * its documentation for any purpose is hereby granted without fee, provided
1474+ * that the above copyright notice appear in all copies and that both that
1475+ * copyright notice and this permission notice appear in supporting
1476+ * documentation, and that the name of the copyright holders not be used in
1477+ * advertising or publicity pertaining to distribution of the software
1478+ * without specific, written prior permission. The copyright holders make
1479+ * no representations about the suitability of this software for any
1480+ * purpose. It is provided "as is" without express or implied warranty.
1481+ *
1482+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
1483+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
1484+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
1485+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
1486+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
1487+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
1488+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1489+ */
1490+#ifndef __gal_2d_renderer_h_
1491+#define __gal_2d_renderer_h_
1492+
1493+#include "compositor.h"
1494+#include <EGL/egl.h>
1495+
1496+
1497+struct gal2d_renderer_interface {
1498+
1499+ int (*create)(struct weston_compositor *ec);
1500+
1501+ int (*output_create)(struct weston_output *output,
1502+ NativeDisplayType display,
1503+ NativeWindowType window);
1504+
1505+ void (*output_destroy)(struct weston_output *output);
1506+};
1507+
1508+struct gal2d_renderer_interface gal2d_renderer_interface;
1509+
1510+#endif
1511--
15121.9.0
1513
diff --git a/recipes-graphics/wayland/weston_%.bbappend b/recipes-graphics/wayland/weston_%.bbappend
new file mode 100644
index 0000000..0576b37
--- /dev/null
+++ b/recipes-graphics/wayland/weston_%.bbappend
@@ -0,0 +1,21 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
2
3SRC_URI += "file://0001-Add-support-for-Vivante-FBDEV-EGL.patch \
4 file://0002-weston-Add-Vivante-2D-compositor-support.patch "
5
6PACKAGECONFIG_mx6 = "fbdev egl cairo-glesv2"
7
8EXTRA_OECONF_append_mx6 = " \
9 --disable-libunwind \
10 --disable-xwayland-test \
11 WESTON_NATIVE_BACKEND=fbdev-backend.so \
12"
13
14EXTRA_OEMAKE_append_mx6 = " \
15 COMPOSITOR_LIBS="-lGLESv2 -lEGL -lGAL -lwayland-server -lxkbcommon -lpixman-1" \
16 COMPOSITOR_CFLAGS="-I ${STAGING_INCDIR}/pixman-1 -DLINUX=1 -DEGL_API_FB -DEGL_API_WL" \
17 FB_COMPOSITOR_CFLAGS="-DLINUX=1 -DEGL_API_FB -DEGL_API_WL" \
18 FB_COMPOSITOR_LIBS="-lGLESv2 -lEGL -lwayland-server -lxkbcommon" \
19 SIMPLE_EGL_CLIENT_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \
20 CLIENT_CFLAGS="-DLINUX -DEGL_API_FB -DEGL_API_WL" \
21"
diff --git a/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput b/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput
new file mode 100644
index 0000000..59f7630
--- /dev/null
+++ b/recipes-graphics/xinput-calibrator/pointercal-xinput/imx28evk/pointercal.xinput
@@ -0,0 +1,2 @@
1xinput set-int-prop "MXS touchscreen" "Evdev Axis Calibration" 32 194 3938 301 3878
2xinput set-int-prop "MXS touchscreen" "Evdev Axes Swap" 8 1
diff --git a/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput b/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput
new file mode 100644
index 0000000..bd140ff
--- /dev/null
+++ b/recipes-graphics/xinput-calibrator/pointercal-xinput/mx6/pointercal.xinput
@@ -0,0 +1,2 @@
1xinput set-int-prop "eGalax Touch Screen" "Evdev Axis Calibration" 42060 2062 -8 -783544 1 1549 65536
2xinput set-int-prop "eGalax Touch Screen" "Evdev Axes Swap" 8 0
diff --git a/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend b/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
new file mode 100644
index 0000000..a9c60f3
--- /dev/null
+++ b/recipes-graphics/xinput-calibrator/pointercal-xinput_%.bbappend
@@ -0,0 +1,2 @@
1# Append path for freescale layer to include bsp pointercal.xinput
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..67d8863
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.10.17-1.0.0.bb
@@ -0,0 +1,62 @@
1# Copyright (C) 2012-2014 Freescale Semiconductor
2# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5require recipes-graphics/xorg-driver/xorg-driver-video.inc
6
7PE = "3"
8
9inherit autotools-brokensep
10
11DEPENDS += "virtual/xserver virtual/libx11 virtual/libgal-x11 gpu-viv-bin-mx6q pixman"
12
13LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c"
14
15SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz"
16
17SRC_URI[md5sum] = "697d9a3fb244eb95eae4207bf2d9c321"
18SRC_URI[sha256sum] = "9178c6b721e55645bedf6d2cfaf836f5c6e2684673215358a6b6845c10a7a085"
19
20EXTRA_OEMAKE += "-C EXA/src -f makefile.linux prefix=${D}/usr \
21 sysroot=${STAGING_DIR_TARGET} \
22 BUSID_HAS_NUMBER=1 \
23 BUILD_IN_YOCTO=1 \
24 XSERVER_GREATER_THAN_13=1"
25
26CFLAGS += "-I${STAGING_INCDIR}/xorg \
27 -I${STAGING_INCDIR}/drm \
28 -I../../DRI_1.10.4/src"
29
30S = "${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/"
31
32# FIXME: The Freescale provided Makefile has hardcodec include paths
33# and this does not work in case prefix is different than /usr,
34# sed it.
35do_configure_prepend () {
36 sed -i 's,$(sysroot)/usr/include,${STAGING_INCDIR},g' \
37 ${S}EXA/src/makefile.linux
38}
39
40# FIXME: This is need as Freescale didn't use standard Makefile filename
41# thus oe_runmame thinks nothing is need to be done, use ln to
42# workaround it.
43base_do_compile () {
44 oe_runmake || die "make failed"
45}
46
47do_install_append () {
48 install -d ${D}${includedir}
49 cp -axr ${S}/EXA/src/vivante_gal/vivante_priv.h ${D}${includedir}
50 cp -axr ${S}/EXA/src/vivante_gal/vivante_gal.h ${D}${includedir}
51 find ${D}${includedir} -type f -exec chmod 660 {} \;
52}
53
54RDEPENDS_${PN} += "libvivante-dri-mx6 \
55 xserver-xorg-module-exa \
56 mesa-driver-swrast \
57 xserver-xorg-extension-dri \
58 xserver-xorg-extension-dri2 \
59 xserver-xorg-extension-glx"
60
61PACKAGE_ARCH = "${MACHINE_SOCARCH}"
62COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
new file mode 100644
index 0000000..6a2fcdf
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
@@ -0,0 +1,33 @@
1From ccdfce5e75ba707deacdd5808a8f3de8744848d0 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
3Date: Tue, 5 Feb 2013 10:57:47 +0100
4Subject: [PATCH] Fix "error: unknown type name 'uint'"
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9In file included from imx_driver.c:33:0:
10.../sysroots/imx53qsb/usr/src/kernel/include/linux/mxcfb.h:107:2: error: unknown type name 'uint'
11
12Upstream-Status: Pending
13
14Signed-off-by: Eric Bénard <eric@eukrea.com>
15---
16 src/imx_driver.c | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/src/imx_driver.c b/src/imx_driver.c
20index f4b3e38..4cf662d 100644
21--- a/src/imx_driver.c
22+++ b/src/imx_driver.c
23@@ -29,6 +29,7 @@
24 #include <errno.h>
25 #include <fcntl.h>
26 #include <string.h>
27+#include <sys/types.h>
28 #include <linux/fb.h>
29 #include <linux/mxcfb.h>
30
31--
321.7.10.4
33
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
new file mode 100644
index 0000000..2ac6311
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
@@ -0,0 +1,787 @@
1From 5216cb0f14414b5451f58df48a36c1c62c035276 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 29 Dec 2012 18:02:11 -0200
4Subject: [PATCH] Make video API forward and backward compatible
5
6This updates the video API in a forward and backward compatible way
7using the "compat-api.h" as used in Xorg maintained drivers.
8
9Upstream-Status: Pending
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 src/compat-api.h | 106 +++++++++++++++++++++++++++++++++++++++++++++++
14 src/imx_display.c | 22 +++++-----
15 src/imx_display.h | 8 ++--
16 src/imx_driver.c | 60 ++++++++++++++-------------
17 src/imx_exa_offscreen.c | 12 +++---
18 src/imx_exa_z160.c | 53 ++++++++++++------------
19 src/imx_xv_ipu.c | 4 +-
20 7 files changed, 188 insertions(+), 77 deletions(-)
21 create mode 100644 src/compat-api.h
22
23diff --git a/src/compat-api.h b/src/compat-api.h
24new file mode 100644
25index 0000000..73ac8a2
26--- /dev/null
27+++ b/src/compat-api.h
28@@ -0,0 +1,106 @@
29+/*
30+ * Copyright 2012 Red Hat, Inc.
31+ *
32+ * Permission is hereby granted, free of charge, to any person obtaining a
33+ * copy of this software and associated documentation files (the "Software"),
34+ * to deal in the Software without restriction, including without limitation
35+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
36+ * and/or sell copies of the Software, and to permit persons to whom the
37+ * Software is furnished to do so, subject to the following conditions:
38+ *
39+ * The above copyright notice and this permission notice (including the next
40+ * paragraph) shall be included in all copies or substantial portions of the
41+ * Software.
42+ *
43+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
46+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
48+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
49+ * DEALINGS IN THE SOFTWARE.
50+ *
51+ * Author: Dave Airlie <airlied@redhat.com>
52+ */
53+
54+/* this file provides API compat between server post 1.13 and pre it,
55+ it should be reused inside as many drivers as possible */
56+#ifndef COMPAT_API_H
57+#define COMPAT_API_H
58+
59+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
60+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
61+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
62+#endif
63+
64+#ifndef XF86_HAS_SCRN_CONV
65+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
66+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
67+#endif
68+
69+#ifndef XF86_SCRN_INTERFACE
70+
71+#define SCRN_ARG_TYPE int
72+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
73+
74+#define SCREEN_ARG_TYPE int
75+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
76+
77+#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv
78+
79+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
80+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
81+
82+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
83+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
84+#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
85+
86+#define FBDEVHWADJUSTFRAME_ARGS(x, y) scrnIndex, (x), (y), 0
87+
88+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
89+
90+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
91+
92+#define FREE_SCREEN_ARGS_DECL int arg, int flags
93+#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
94+
95+#define VT_FUNC_ARGS_DECL int arg, int flags
96+#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
97+
98+#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn->scrnIndex, b
99+
100+#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
101+#else
102+#define SCRN_ARG_TYPE ScrnInfoPtr
103+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
104+
105+#define SCREEN_ARG_TYPE ScreenPtr
106+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
107+
108+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
109+
110+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
111+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
112+
113+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
114+#define CLOSE_SCREEN_ARGS pScreen
115+#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
116+
117+#define FBDEVHWADJUSTFRAME_ARGS(x, y) pScrn, (x), (y)
118+
119+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
120+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
121+
122+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
123+#define FREE_SCREEN_ARGS(x) (x)
124+
125+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
126+#define VT_FUNC_ARGS(flags) pScrn
127+
128+#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn, b
129+
130+#define XF86_ENABLEDISABLEFB_ARG(x) (x)
131+
132+#endif
133+
134+#endif
135diff --git a/src/imx_display.c b/src/imx_display.c
136index fcb8195..e2dc36a 100644
137--- a/src/imx_display.c
138+++ b/src/imx_display.c
139@@ -42,6 +42,8 @@
140 #include "imx.h"
141 #include "imx_display.h"
142
143+#include "compat-api.h"
144+
145 #include <X11/Xatom.h>
146
147 #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,7,6,0,0)
148@@ -1373,19 +1375,19 @@ imxDisplayPreInit(ScrnInfoPtr pScrn)
149 Bool
150 imxDisplayStartScreenInit(int scrnIndex, ScreenPtr pScreen)
151 {
152- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
153+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
154 ImxPtr fPtr = IMXPTR(pScrn);
155
156 if (!xf86SetDesiredModes(pScrn)) {
157
158- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
159+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
160 return FALSE;
161 }
162
163 #if 0
164 if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
165
166- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
167+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
168 return FALSE;
169 }
170 pScrn->displayWidth =
171@@ -1463,29 +1465,29 @@ imxDisplayFinishScreenInit(int scrnIndex, ScreenPtr pScreen)
172 /* -------------------------------------------------------------------- */
173
174 Bool
175-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
176+imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL)
177 {
178- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
179+ SCRN_INFO_PTR(arg);
180
181 return xf86SetSingleMode(pScrn, mode, RR_Rotate_0);
182 }
183
184 void
185-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags)
186+imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL)
187 {
188-// fbdevHWAdjustFrame(scrnIndex, x, y, flags);
189+// fbdevHWAdjustFrame(pScrn->scrnIndex, x, y, flags);
190 }
191
192 Bool
193-imxDisplayEnterVT(int scrnIndex, int flags)
194+imxDisplayEnterVT(VT_FUNC_ARGS_DECL)
195 {
196- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
197+ SCRN_INFO_PTR(arg);
198
199 return xf86SetDesiredModes(pScrn);
200 }
201
202 void
203-imxDisplayLeaveVT(int scrnIndex, int flags)
204+imxDisplayLeaveVT(VT_FUNC_ARGS_DECL)
205 {
206 }
207
208diff --git a/src/imx_display.h b/src/imx_display.h
209index 4a5d5aa..3a3d43a 100644
210--- a/src/imx_display.h
211+++ b/src/imx_display.h
212@@ -59,16 +59,16 @@ imxDisplayValidMode(int scrnIndex, DisplayModePtr mode,
213 Bool verbose, int flags);
214
215 extern Bool
216-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
217+imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL);
218
219 extern void
220-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags);
221+imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL);
222
223 extern Bool
224-imxDisplayEnterVT(int scrnIndex, int flags);
225+imxDisplayEnterVT(VT_FUNC_ARGS_DECL);
226
227 extern void
228-imxDisplayLeaveVT(int scrnIndex, int flags);
229+imxDisplayLeaveVT(VT_FUNC_ARGS_DECL);
230
231 extern Bool
232 imxDisplayChangeFrameBufferRotateEPDC(int scrnIndex, int fbRotate);
233diff --git a/src/imx_driver.c b/src/imx_driver.c
234index 178e36e..f4b3e38 100644
235--- a/src/imx_driver.c
236+++ b/src/imx_driver.c
237@@ -46,6 +46,8 @@
238 #include "fb.h"
239 #include "fbdevhw.h"
240
241+#include "compat-api.h"
242+
243 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
244 #include "xf86Resources.h"
245 #include "xf86RAC.h"
246@@ -435,17 +437,17 @@ errorPreInit:
247 }
248
249 static void
250-imxFreeScreen(int scrnIndex, int flags)
251+imxFreeScreen(FREE_SCREEN_ARGS_DECL)
252 {
253- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
254+ SCRN_INFO_PTR(arg);
255
256 imxFreeRec(pScrn);
257 }
258
259 static Bool
260-imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
261+imxCloseScreen(CLOSE_SCREEN_ARGS_DECL)
262 {
263- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
264+ CLOSE_SCREEN_DECL_ScrnInfoPtr;
265 ImxPtr fPtr = IMXPTR(pScrn);
266
267 fbdevHWRestore(pScrn);
268@@ -453,7 +455,7 @@ imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
269 pScrn->vtSema = FALSE;
270
271 pScreen->CloseScreen = fPtr->saveCloseScreen;
272- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
273+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
274 }
275
276 static int
277@@ -488,9 +490,9 @@ LCM(a, b)
278 }
279
280 static Bool
281-imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
282+imxScreenInit(SCREEN_INIT_ARGS_DECL)
283 {
284- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
285+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
286 ImxPtr fPtr = IMXPTR(pScrn);
287 VisualPtr visual;
288 int init_picture = 0;
289@@ -514,7 +516,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
290 /* Map frame buffer memory */
291 fPtr->fbMemoryBase = fbdevHWMapVidmem(pScrn);
292 if (NULL == fPtr->fbMemoryBase) {
293- xf86DrvMsg(scrnIndex,X_ERROR,"mapping of video memory"
294+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
295 " failed\n");
296 return FALSE;
297 }
298@@ -558,7 +560,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
299 const int fbOffsetScreen2 =
300 IMX_ALIGN(fbMaxScreenSize, fbMaxAlignOffset);
301 fPtr->fbMemoryScreenReserve = fbMaxScreenSize;
302- xf86DrvMsg(scrnIndex, X_INFO,
303+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
304 "reserve %d bytes of frame buffer for screen\n",
305 fPtr->fbMemoryScreenReserve);
306 fPtr->fbMemoryStart2 = NULL;
307@@ -568,12 +570,12 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
308
309 fPtr->fbMemoryScreenReserve += fbOffsetScreen2;
310
311- xf86DrvMsg(scrnIndex, X_INFO,
312+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
313 "reserve same number of bytes for XRandR rotated screen at offset %d\n",
314 fbOffsetScreen2);
315 }
316
317- if (!imxDisplayStartScreenInit(scrnIndex, pScreen)) {
318+ if (!imxDisplayStartScreenInit(pScrn->scrnIndex, pScreen)) {
319
320 return FALSE;
321 }
322@@ -582,7 +584,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
323 miClearVisualTypes();
324 if (pScrn->bitsPerPixel > 8) {
325 if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
326- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
327+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
328 " for %d bits per pixel [1]\n",
329 pScrn->bitsPerPixel);
330 return FALSE;
331@@ -591,14 +593,14 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
332 if (!miSetVisualTypes(pScrn->depth,
333 miGetDefaultVisualMask(pScrn->depth),
334 pScrn->rgbBits, pScrn->defaultVisual)) {
335- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
336+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
337 " for %d bits per pixel [2]\n",
338 pScrn->bitsPerPixel);
339 return FALSE;
340 }
341 }
342 if (!miSetPixmapDepths()) {
343- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
344+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n");
345 return FALSE;
346 }
347
348@@ -607,10 +609,10 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
349 has a padding which is independent from the depth (controlfb) */
350 pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
351 (pScrn->bitsPerPixel / 8);
352- xf86DrvMsg(scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
353+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
354
355 if (pScrn->displayWidth != pScrn->virtualX) {
356- xf86DrvMsg(scrnIndex, X_INFO,
357+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
358 "Pitch updated to %d after ModeInit\n",
359 pScrn->displayWidth);
360 }
361@@ -633,7 +635,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
362 init_picture = 1;
363 break;
364 default:
365- xf86DrvMsg(scrnIndex, X_ERROR,
366+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
367 "internal error: invalid number of bits per"
368 " pixel (%d) encountered in"
369 " imxScreenInit()\n", pScrn->bitsPerPixel);
370@@ -644,7 +646,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
371 case FBDEVHW_INTERLEAVED_PLANES:
372 /* This should never happen ...
373 * we should check for this much much earlier ... */
374- xf86DrvMsg(scrnIndex, X_ERROR,
375+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
376 "internal error: interleaved planes are not yet "
377 "supported by the imx driver\n");
378 ret = FALSE;
379@@ -652,20 +654,20 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
380 case FBDEVHW_TEXT:
381 /* This should never happen ...
382 * we should check for this much much earlier ... */
383- xf86DrvMsg(scrnIndex, X_ERROR,
384+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
385 "internal error: text mode is not supported by the "
386 "imx driver\n");
387 ret = FALSE;
388 break;
389 case FBDEVHW_VGA_PLANES:
390 /* Not supported yet */
391- xf86DrvMsg(scrnIndex, X_ERROR,
392+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
393 "internal error: EGA/VGA Planes are not yet "
394 "supported by the imx driver\n");
395 ret = FALSE;
396 break;
397 default:
398- xf86DrvMsg(scrnIndex, X_ERROR,
399+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
400 "internal error: unrecognised hardware type (%d) "
401 "encountered in imxScreenInit()\n", type);
402 ret = FALSE;
403@@ -699,7 +701,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
404 /* INIT ACCELERATION BEFORE INIT FOR BACKING STORE & SOFTWARE CURSOR */
405 if (fPtr->useAccel) {
406
407- if (!imxExaZ160Setup(scrnIndex, pScreen)) {
408+ if (!imxExaZ160Setup(pScrn->scrnIndex, pScreen)) {
409
410 fPtr->useAccel = FALSE;
411 }
412@@ -731,29 +733,29 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
413 /* XXX It would be simpler to use miCreateDefColormap() in all cases. */
414 case FBDEVHW_PACKED_PIXELS:
415 if (!miCreateDefColormap(pScreen)) {
416- xf86DrvMsg(scrnIndex, X_ERROR,
417+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
418 "internal error: miCreateDefColormap failed "
419 "in imxScreenInit()\n");
420 return FALSE;
421 }
422 break;
423 case FBDEVHW_INTERLEAVED_PLANES:
424- xf86DrvMsg(scrnIndex, X_ERROR,
425+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
426 "internal error: interleaved planes are not yet "
427 "supported by the imx driver\n");
428 return FALSE;
429 case FBDEVHW_TEXT:
430- xf86DrvMsg(scrnIndex, X_ERROR,
431+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
432 "internal error: text mode is not supported by "
433 "the imx driver\n");
434 return FALSE;
435 case FBDEVHW_VGA_PLANES:
436- xf86DrvMsg(scrnIndex, X_ERROR,
437+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
438 "internal error: EGA/VGA planes are not yet "
439 "supported by the imx driver\n");
440 return FALSE;
441 default:
442- xf86DrvMsg(scrnIndex, X_ERROR,
443+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
444 "internal error: unrecognised imx hardware type "
445 "(%d) encountered in imxScreenInit()\n", type);
446 return FALSE;
447@@ -782,7 +784,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
448 }
449 #endif
450
451- if (!imxDisplayFinishScreenInit(scrnIndex, pScreen)) {
452+ if (!imxDisplayFinishScreenInit(pScrn->scrnIndex, pScreen)) {
453 return FALSE;
454 }
455
456@@ -810,7 +812,7 @@ IMXGetPixmapProperties(
457 }
458
459 /* Access screen associated with this pixmap. */
460- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
461+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
462
463 /* Check if the screen associated with this pixmap has IMX driver. */
464 if (0 != strcmp(IMX_DRIVER_NAME, pScrn->driverName)) {
465diff --git a/src/imx_exa_offscreen.c b/src/imx_exa_offscreen.c
466index 3a5c24d..0fbe2fc 100644
467--- a/src/imx_exa_offscreen.c
468+++ b/src/imx_exa_offscreen.c
469@@ -79,7 +79,7 @@ static void
470 imxExaOffscreenValidate (ScreenPtr pScreen)
471 {
472 /* Access the driver specific data. */
473- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
474+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
475 ImxPtr imxPtr = IMXPTR(pScrn);
476 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
477 ExaOffscreenArea *prev = 0, *area;
478@@ -135,7 +135,7 @@ imxExaOffscreenMerge (ImxExaPtr imxExaPtr, ExaOffscreenArea *area)
479 ExaOffscreenArea *
480 imxExaOffscreenFree (ScreenPtr pScreen, ExaOffscreenArea *area)
481 {
482- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
483+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
484 ImxPtr imxPtr = IMXPTR(pScrn);
485 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
486 ExaOffscreenArea *next = area->next;
487@@ -281,7 +281,7 @@ imxExaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
488 pointer privData)
489 {
490 ExaOffscreenArea *area;
491- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
492+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
493 ImxPtr imxPtr = IMXPTR(pScrn);
494 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
495 int real_size = 0, largest_avail = 0;
496@@ -418,7 +418,7 @@ imxExaOffscreenSwapIn (ScreenPtr pScreen)
497 Bool
498 imxExaOffscreenInit (ScreenPtr pScreen)
499 {
500- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
501+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
502 ImxPtr imxPtr = IMXPTR(pScrn);
503 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
504 ExaOffscreenArea *area;
505@@ -453,7 +453,7 @@ imxExaOffscreenInit (ScreenPtr pScreen)
506 void
507 imxExaOffscreenFini (ScreenPtr pScreen)
508 {
509- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
510+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
511 ImxPtr imxPtr = IMXPTR(pScrn);
512 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
513 ExaOffscreenArea *area;
514@@ -472,7 +472,7 @@ imxExaOffscreenFini (ScreenPtr pScreen)
515 void
516 imxExaOffscreenSwapOut (ScreenPtr pScreen)
517 {
518- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
519+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
520 ImxPtr imxPtr = IMXPTR(pScrn);
521 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
522
523diff --git a/src/imx_exa_z160.c b/src/imx_exa_z160.c
524index fb718e0..3d0bc96 100644
525--- a/src/imx_exa_z160.c
526+++ b/src/imx_exa_z160.c
527@@ -32,6 +32,7 @@
528 #include <errno.h>
529 #include <fcntl.h>
530
531+#include "compat-api.h"
532
533 /* Set if handles pixmap allocation and migration, i.e, EXA_HANDLES_PIXMAPS */
534 #define IMX_EXA_ENABLE_HANDLES_PIXMAPS \
535@@ -299,7 +300,7 @@ imxExaZ160GetPixmapAddress(PixmapPtr pPixmap)
536 return fPixmapPtr->ptr;
537 #else
538 /* Access screen associated with this pixmap. */
539- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
540+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
541
542 /* Access driver specific data */
543 ImxPtr imxPtr = IMXPTR(pScrn);
544@@ -344,7 +345,7 @@ imxExaZ160GetPixmapProperties(
545 #else
546
547 /* Access screen associated with this pixmap. */
548- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
549+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
550
551 /* Make sure pixmap is in framebuffer */
552 if (!exaDrawableIsOffscreen(&(pPixmap->drawable))) {
553@@ -856,7 +857,7 @@ imxExaZ160SyncIfBusyPixmap(PixmapPtr pPixmap)
554 {
555 /* Access screen associated with this pixmap. */
556 ScreenPtr pScreen = pPixmap->drawable.pScreen;
557- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
558+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
559
560 /* Access driver specific data for screen. */
561 ImxPtr imxPtr = IMXPTR(pScrn);
562@@ -924,7 +925,7 @@ imxExaZ160CreatePixmap2(ScreenPtr pScreen, int width, int height,
563 }
564
565 /* Access the driver specific data. */
566- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
567+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
568 ImxPtr imxPtr = IMXPTR(pScrn);
569 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
570
571@@ -1028,7 +1029,7 @@ imxExaZ160DestroyPixmap(ScreenPtr pScreen, void *driverPriv)
572 ImxExaPixmapPtr fPixmapPtr = (ImxExaPixmapPtr)driverPriv;
573
574 /* Access the driver specific data. */
575- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
576+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
577 ImxPtr imxPtr = IMXPTR(pScrn);
578 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
579
580@@ -1068,7 +1069,7 @@ imxExaZ160ModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,
581 }
582
583 /* Access screen associated with this pixmap */
584- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
585+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
586
587 /* Access driver specific data */
588 ImxPtr imxPtr = IMXPTR(pScrn);
589@@ -1194,7 +1195,7 @@ imxExaZ160TrackBusyPixmap(ImxExaZ160Ptr fPtr, PixmapPtr pPixmap)
590 static void
591 imxExaZ160WaitMarker(ScreenPtr pScreen, int marker)
592 {
593- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
594+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
595
596 /* Access driver specific data associated with the screen. */
597 ImxPtr imxPtr = IMXPTR(pScrn);
598@@ -1249,7 +1250,7 @@ imxExaZ160PrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
599 }
600
601 /* Access screen associated with this pixmap */
602- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
603+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
604
605 /* Access driver specific data */
606 ImxPtr imxPtr = IMXPTR(pScrn);
607@@ -1352,7 +1353,7 @@ static void
608 imxExaZ160Solid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2)
609 {
610 /* Access screen associated with this pixmap */
611- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
612+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
613
614 /* Access driver specific data */
615 ImxPtr imxPtr = IMXPTR(pScrn);
616@@ -1423,7 +1424,7 @@ static void
617 imxExaZ160DoneSolid(PixmapPtr pPixmap)
618 {
619 /* Access screen associated with this pixmap */
620- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
621+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
622
623 /* Access driver specific data */
624 ImxPtr imxPtr = IMXPTR(pScrn);
625@@ -1485,7 +1486,7 @@ imxExaZ160PrepareCopy(
626 }
627
628 /* Access the screen associated with this pixmap. */
629- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
630+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
631
632 /* Access driver specific data */
633 ImxPtr imxPtr = IMXPTR(pScrn);
634@@ -1599,7 +1600,7 @@ static void
635 imxExaZ160Copy(PixmapPtr pPixmapDst, int srcX, int srcY, int dstX, int dstY, int width, int height)
636 {
637 /* Access screen associated with dst pixmap */
638- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
639+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
640
641 /* Access driver specific data */
642 ImxPtr imxPtr = IMXPTR(pScrn);
643@@ -1661,7 +1662,7 @@ static void
644 imxExaZ160DoneCopy(PixmapPtr pPixmapDst)
645 {
646 /* Access screen associated with this pixmap */
647- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
648+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
649
650 /* Access driver specific data */
651 ImxPtr imxPtr = IMXPTR(pScrn);
652@@ -1770,7 +1771,7 @@ imxExaZ160CheckComposite(int op, PicturePtr pPictureSrc, PicturePtr pPictureMask
653 }
654
655 /* Access screen associated with dst pixmap (same screen as for src pixmap). */
656- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
657+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
658
659 /* Check the number of entities, and fail if it isn't one. */
660 if (pScrn->numEntities != 1) {
661@@ -1987,7 +1988,7 @@ imxExaZ160PrepareComposite(
662 {
663 /* Access screen associated with dst pixmap. */
664 /* Should be same screen as for src pixmap. */
665- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
666+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
667
668 /* NOTE - many preconditions already verified in CheckComposite. */
669
670@@ -2196,7 +2197,7 @@ imxExaZ160Composite(
671 int height)
672 {
673 /* Access screen associated with dst pixmap */
674- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
675+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
676
677 /* Access driver specific data */
678 ImxPtr imxPtr = IMXPTR(pScrn);
679@@ -2275,7 +2276,7 @@ static void
680 imxExaZ160DoneComposite(PixmapPtr pPixmapDst)
681 {
682 /* Access screen associated with this pixmap */
683- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
684+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
685
686 /* Access driver specific data */
687 ImxPtr imxPtr = IMXPTR(pScrn);
688@@ -2323,7 +2324,7 @@ imxExaZ160UploadToScreen(
689
690 /* Access screen associated with this pixmap */
691 ScreenPtr pScreen = pPixmapDst->drawable.pScreen;
692- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
693+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
694
695 /* Access driver specific data */
696 ImxPtr imxPtr = IMXPTR(pScrn);
697@@ -2381,7 +2382,7 @@ imxExaZ160DownloadFromScreen(
698
699 /* Access screen associated with this pixmap */
700 ScreenPtr pScreen = pPixmapSrc->drawable.pScreen;
701- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
702+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
703
704 /* Access driver specific data */
705 ImxPtr imxPtr = IMXPTR(pScrn);
706@@ -2412,9 +2413,9 @@ imxExaZ160DownloadFromScreen(
707 }
708
709 Bool
710-imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
711+imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS_DECL)
712 {
713- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
714+ CLOSE_SCREEN_DECL_ScrnInfoPtr;
715 ImxPtr imxPtr = IMXPTR(pScrn);
716
717 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
718@@ -2504,7 +2505,7 @@ imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
719 /* Install our CloseScreen function so that it gets called. */
720 if (NULL != pScreen->CloseScreen) {
721
722- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
723+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
724 }
725
726 return TRUE;
727@@ -2514,7 +2515,7 @@ Bool
728 imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
729 {
730 /* Access the screen info and then private data structures. */
731- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
732+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
733 ImxPtr imxPtr = IMXPTR(pScrn);
734
735 /* Private data structure must not already be in use. */
736@@ -2582,7 +2583,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
737
738 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
739 "Initialize Z160 interfaces failed.\n");
740- imxExaZ160CloseScreen(scrnIndex, pScreen);
741+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
742 return FALSE;
743 }
744
745@@ -2592,7 +2593,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
746
747 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
748 "Allocate EXA driver structure.\n");
749- imxExaZ160CloseScreen(scrnIndex, pScreen);
750+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
751 return FALSE;
752 }
753
754@@ -2657,7 +2658,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
755 if (!exaDriverInit(pScreen, exaDriverPtr)) {
756
757 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "EXA initialization failed.\n");
758- imxExaZ160CloseScreen(scrnIndex, pScreen);
759+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
760 return FALSE;
761 }
762 fPtr->imxExaRec.exaDriverPtr = exaDriverPtr;
763diff --git a/src/imx_xv_ipu.c b/src/imx_xv_ipu.c
764index a517742..fc8a827 100644
765--- a/src/imx_xv_ipu.c
766+++ b/src/imx_xv_ipu.c
767@@ -398,7 +398,7 @@ xf86XVFillKeyHelper1 (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes)
768 xRectangle *rects;
769 GCPtr gc;
770
771- if(!xf86Screens[pScreen->myNum]->vtSema) return;
772+ if(!xf86ScreenToScrn(pScreen)->vtSema) return;
773
774 gc = GetScratchGC(root->depth, pScreen);
775 pval[0] = key;
776@@ -771,7 +771,7 @@ MXXVInitializeAdaptor
777 XF86VideoAdaptorPtr **pppAdaptor
778 )
779 {
780- ScreenPtr pScreen = screenInfo.screens[pScreenInfo->scrnIndex];
781+ ScreenPtr pScreen = xf86ScrnToScreen(pScreenInfo);
782 XF86VideoAdaptorPtr *ppAdaptor = NULL;
783 IMXPtr fPtr = IMXPTR(pScreenInfo);
784 int nAdaptor;
785--
7861.7.10.4
787
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
new file mode 100644
index 0000000..05be6b3
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
@@ -0,0 +1,65 @@
1From fc7f191a1a0f290a4e808dd8f9bd58ba1dbd2be4 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 29 Dec 2012 18:00:36 -0200
4Subject: [PATCH 1/2] ext: Update to newer swap macros
5
6The swap macros now use an internal temporary variable so we need to
7adapt the code according.
8
9Upstream-Status: Pending
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 src/imx_ext.c | 16 ++++++----------
14 1 file changed, 6 insertions(+), 10 deletions(-)
15
16diff --git a/src/imx_ext.c b/src/imx_ext.c
17index f12469a..710cba4 100644
18--- a/src/imx_ext.c
19+++ b/src/imx_ext.c
20@@ -57,8 +57,6 @@ void imxExtInit()
21 static int
22 Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
23 {
24- int n;
25-
26 REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
27 REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
28
29@@ -96,10 +94,10 @@ Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
30 /* Check if any reply values need byte swapping */
31 if (client->swapped) {
32
33- swaps(&rep.sequenceNumber, n);
34- swapl(&rep.length, n);
35- swapl(&rep.pixmapPhysAddr, n);
36- swapl(&rep.pixmapPitch, n);
37+ swaps(&rep.sequenceNumber);
38+ swapl(&rep.length);
39+ swapl(&rep.pixmapPhysAddr);
40+ swapl(&rep.pixmapPitch);
41 }
42
43 /* Reply to client */
44@@ -123,16 +121,14 @@ Proc_IMX_EXT_Dispatch(ClientPtr client)
45 static int
46 SProc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
47 {
48- int n;
49-
50 REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
51
52 /* Swap request message length and verify it is correct. */
53- swaps(&stuff->length, n);
54+ swaps(&stuff->length);
55 REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
56
57 /* Swap remaining request message parameters. */
58- swapl(&stuff->pixmap, n);
59+ swapl(&stuff->pixmap);
60
61 return Proc_IMX_EXT_GetPixmapPhysAddr(client);
62 }
63--
641.7.10.4
65
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
new file mode 100644
index 0000000..64af773
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
@@ -0,0 +1,53 @@
1From 5b348e7be67957f4be6fcfa4942128c04f6db905 Mon Sep 17 00:00:00 2001
2From: Adrian Alonso <b38018@freescale.com>
3Date: Thu, 4 Aug 2011 14:24:26 -0500
4Subject: [PATCH] xf86-video-imxfb: fix m4 hardcodded paths
5
6* Fix m4 macros lookup location; remove /usr/share/aclocal path
7
8Signed-off-by: Adrian Alonso <b38018@freescale.com>
9---
10 Makefile.am | 2 +-
11 Makefile.in | 2 +-
12 configure.ac | 2 +-
13 3 files changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/Makefile.am b/Makefile.am
16index 6752256..e205657 100644
17--- a/Makefile.am
18+++ b/Makefile.am
19@@ -20,4 +20,4 @@
20
21 AUTOMAKE_OPTIONS = foreign
22 SUBDIRS = src
23-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
24+ACLOCAL_AMFLAGS = -I m4
25diff --git a/Makefile.in b/Makefile.in
26index 5c0ba0e..f829db7 100644
27--- a/Makefile.in
28+++ b/Makefile.in
29@@ -243,7 +243,7 @@ top_builddir = @top_builddir@
30 top_srcdir = @top_srcdir@
31 AUTOMAKE_OPTIONS = foreign
32 SUBDIRS = src
33-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
34+ACLOCAL_AMFLAGS = -I m4
35 all: config.h
36 $(MAKE) $(AM_MAKEFLAGS) all-recursive
37
38diff --git a/configure.ac b/configure.ac
39index a1ac73b..0078b86 100644
40--- a/configure.ac
41+++ b/configure.ac
42@@ -29,7 +29,7 @@ AC_INIT([xf86-video-imx],
43 AC_CONFIG_SRCDIR([Makefile.am])
44 AM_CONFIG_HEADER([config.h])
45 AC_CONFIG_AUX_DIR(.)
46-AC_CONFIG_MACRO_DIR([/usr/share/aclocal])
47+AC_CONFIG_MACRO_DIR([m4])
48
49 AM_INIT_AUTOMAKE([dist-bzip2])
50
51--
521.7.4.1
53
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
new file mode 100644
index 0000000..14ccbbf
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
@@ -0,0 +1,34 @@
1Fix building using new Xorg 1.14
2
3mibstore functions are no longer supported. This patch removes them
4from this driver, following the pattern in
5http://patches.openembedded.org/patch/46133/
6
7This checkin shows when/where the changes to the X server were made
8that deleted the header mibstore.h and mentions the reasons.
9http://lists.x.org/archives/xorg-devel/2012-September/033575.html
10
11Upstream-Status: Pending
12
13Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
14
15Index: xserver-xorg-video-imx-11.09.01/src/imx_driver.c
16===================================================================
17--- xserver-xorg-video-imx-11.09.01.orig/src/imx_driver.c
18+++ xserver-xorg-video-imx-11.09.01/src/imx_driver.c
19@@ -37,7 +37,6 @@
20 #include "xf86_OSproc.h"
21
22 #include "mipointer.h"
23-#include "mibstore.h"
24 #include "micmap.h"
25 #include "colormapst.h"
26 #include "xf86cmap.h"
27@@ -722,7 +721,6 @@ imxScreenInit(SCREEN_INIT_ARGS_DECL)
28 /* Initialize for X extensions. */
29 imxExtInit();
30
31- miInitializeBackingStore(pScreen);
32 xf86SetBackingStore(pScreen);
33
34 /* software cursor */
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
new file mode 100644
index 0000000..443cd4f
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
@@ -0,0 +1,39 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "X.Org X server -- Freescale iMx framebuffer driver"
5LICENSE = "MIT-X"
6DEPENDS = "virtual/kernel virtual/xserver virtual/libx11 xproto randrproto util-macros amd-gpu-x11-bin-mx51 libz160"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f7bdc0c63080175d1667091b864cb12c"
8
9PR = "r12"
10
11SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-${PV}.tar.gz \
12 file://xf86-video-imxfb-fix-m4-hardcodded-paths.patch \
13 file://Make-video-API-forward-and-backward-compatible.patch \
14 file://ext-Update-to-newer-swap-macros.patch \
15 file://Fix-error-unknown-type-name-uint.patch \
16 file://xserver-1.14-compat.patch \
17"
18SRC_URI[md5sum] = "d19148399b5d1c4dab90d0cc6f2c4789"
19SRC_URI[sha256sum] = "d7d85e9f13c6dd58addab89847f3a8a67f6382a54135c7978c9a95368af024d4"
20
21inherit autotools pkgconfig
22
23FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
24FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug"
25EXTRA_OECONF_armv7a = " --enable-neon "
26CFLAGS += " -I${STAGING_INCDIR}/xorg -I${STAGING_KERNEL_DIR}/include"
27
28S = "${WORKDIR}/xserver-xorg-video-imx-${PV}"
29
30do_install_append () {
31 # driver's la files are not packaged
32 rm -f ${D}${libdir}/xorg/modules/drivers/*.la
33}
34
35RDEPENDS_${PN} += "xserver-xorg-module-exa"
36
37INSANE_SKIP_${PN} = "ldflags"
38INSANE_SKIP_${PN}-dbg = "ldflags"
39COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf
new file mode 100644
index 0000000..a99e6f2
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx5/xorg.conf
@@ -0,0 +1,16 @@
1Section "Device"
2 Identifier "i.MX Accelerated Framebuffer Device"
3 Driver "imx"
4 Option "fbdev" "/dev/fb0"
5 # This option only recognized when "mxc_epdc_fb" frame buffer driver in
6 # use. Values are "RGB565" (default, 16-bit RGB), "Y8" (8-bit gray),
7 # and "Y8INV" (8-bit gray inverted).
8 Option "FormatEPDC" "Y8INV"
9EndSection
10
11Section "ServerFlags"
12 Option "BlankTime" "0"
13 Option "StandbyTime" "0"
14 Option "SuspendTime" "0"
15 Option "OffTime" "0"
16EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
new file mode 100644
index 0000000..b89bed6
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mx6/xorg.conf
@@ -0,0 +1,14 @@
1Section "Device"
2 Identifier "i.MX Accelerated Framebuffer Device"
3 Driver "vivante"
4 Option "fbdev" "/dev/fb0"
5 Option "vivante_fbdev" "/dev/fb0"
6 Option "HWcursor" "false"
7EndSection
8
9Section "ServerFlags"
10 Option "BlankTime" "0"
11 Option "StandbyTime" "0"
12 Option "SuspendTime" "0"
13 Option "OffTime" "0"
14EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf b/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf
new file mode 100644
index 0000000..79b6c0f
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config/mxs/xorg.conf
@@ -0,0 +1,12 @@
1Section "Device"
2 Identifier "Kernel Framebuffer Device"
3 Driver "fbdev"
4 Option "fbdev" "/dev/fb0"
5EndSection
6
7Section "ServerFlags"
8 Option "BlankTime" "0"
9 Option "StandbyTime" "0"
10 Option "SuspendTime" "0"
11 Option "OffTime" "0"
12EndSection
diff --git a/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
new file mode 100644
index 0000000..ceb438e
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xf86-config_%.bbappend
@@ -0,0 +1,2 @@
1# Append path for freescale layer to include bsp xorg.conf
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
new file mode 100644
index 0000000..045e24a
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/aarch64.patch
@@ -0,0 +1,35 @@
1Subject: Add AArch64 support to xserver-xorg
2Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
3
4lnx_video.c parts are not existing in 1.14 branch.
5
6Xserver was checked in AArch64 fastmodel (commercial one with graphics support).
7
8http://patchwork.freedesktop.org/patch/12785/
9
10Upstream-Status: Pending
11
12---
13 include/servermd.h | 7 +++++++
14 1 files changed, 7 insertions(+), 0 deletions(-)
15
16--- xorg-server-1.13.1.orig/include/servermd.h
17+++ xorg-server-1.13.1/include/servermd.h
18@@ -243,10 +243,17 @@ SOFTWARE.
19 #define BITMAP_BIT_ORDER LSBFirst
20 #define GLYPHPADBYTES 4
21 /* ???? */
22 #endif /* AMD64 */
23
24+#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64)
25+#define IMAGE_BYTE_ORDER MSBFirst
26+#define BITMAP_BIT_ORDER MSBFirst
27+#define GLYPHPADBYTES 4
28+/* ???? */
29+#endif /* AArch64 */
30+
31 #if defined(SVR4) && (defined(__i386__) || defined(__i386) ) || \
32 defined(__alpha__) || defined(__alpha) || \
33 defined(__i386__) || \
34 defined(__s390x__) || defined(__s390__)
35
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
new file mode 100644
index 0000000..2f98bb8
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/crosscompile.patch
@@ -0,0 +1,22 @@
1Upstream-Status: Inappropriate [configuration]
2
3diff --git a/configure.ac b/configure.ac
4index b3b752c..600500b 100644
5--- a/configure.ac
6+++ b/configure.ac
7@@ -523,13 +523,9 @@ dnl Uses --default-font-path if set, otherwise checks for /etc/X11/fontpath.d,
8 dnl otherwise uses standard subdirectories of FONTROOTDIR. When cross
9 dnl compiling, assume default font path uses standard FONTROOTDIR directories.
10 DEFAULT_FONT_PATH="${FONTMISCDIR}/,${FONTTTFDIR}/,${FONTOTFDIR}/,${FONTTYPE1DIR}/,${FONT100DPIDIR}/,${FONT75DPIDIR}/"
11-if test "$cross_compiling" != yes; then
12- AC_CHECK_FILE([${sysconfdir}/X11/fontpath.d],
13- [DEFAULT_FONT_PATH='catalogue:${sysconfdir}/X11/fontpath.d'],
14- [case $host_os in
15+ case $host_os in
16 darwin*) DEFAULT_FONT_PATH="${DEFAULT_FONT_PATH},/Library/Fonts,/System/Library/Fonts" ;;
17- esac])
18-fi
19+ esac
20 AC_ARG_WITH(default-font-path, AS_HELP_STRING([--with-default-font-path=PATH], [Comma separated list of font dirs]),
21 [ FONTPATH="$withval" ],
22 [ FONTPATH="${DEFAULT_FONT_PATH}" ])
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
new file mode 100644
index 0000000..2f62972
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/fix_open_max_preprocessor_error.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Pending
2
3Index: git/os/osdep.h
4===================================================================
5--- git.orig/os/osdep.h 2008-10-07 18:38:21.000000000 +0100
6+++ git/os/osdep.h 2008-10-07 18:39:36.000000000 +0100
7@@ -92,7 +92,7 @@
8 * like sysconf(_SC_OPEN_MAX) is not supported.
9 */
10
11-#if OPEN_MAX <= 256
12+#if 0
13 #define MAXSOCKS (OPEN_MAX - 1)
14 #else
15 #define MAXSOCKS 256
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
new file mode 100644
index 0000000..ec0eea6
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/macro_tweak.patch
@@ -0,0 +1,25 @@
1This is the revised version of files/macro_tweak.patch for
2xorg-server 1.8.99.904 and newer.
3
4Upstream-Status: Pending
5
6Signed-off-by: Yu Ke <ke.yu@intel.com>
7
8diff --git a/xorg-server.m4 b/xorg-server.m4
9index bdecf62..040fdb8 100644
10--- a/xorg-server.m4
11+++ b/xorg-server.m4
12@@ -28,10 +28,12 @@ dnl
13 # Checks for the $1 define in xorg-server.h (from the sdk). If it
14 # is defined, then add $1 to $REQUIRED_MODULES.
15
16+m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
17+
18 AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
19 AC_REQUIRE([PKG_PROG_PKG_CONFIG])
20 SAVE_CFLAGS="$CFLAGS"
21- CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
22+ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`$PKG_CONFIG --variable=sdkdir xorg-server`"
23 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
24 #include "xorg-server.h"
25 #if !defined $1
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
new file mode 100644
index 0000000..168368e
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg/mips64-compiler.patch
@@ -0,0 +1,29 @@
1on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well
2so we end up with incompatible conversion errors
3
4This patch choses the right values for mips64
5
6Signed-off-by: Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9Index: xorg-server-1.13.0/hw/xfree86/common/compiler.h
10===================================================================
11--- xorg-server-1.13.0-orig/hw/xfree86/common/compiler.h 2012-06-14 23:04:29.000000000 +0300
12+++ xorg-server-1.13.0/hw/xfree86/common/compiler.h 2012-11-08 10:06:50.865831783 +0200
13@@ -101,6 +101,7 @@
14 #if defined(NO_INLINE) || defined(DO_PROTOTYPES)
15 #if !defined(__arm__)
16 #if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
17+ && !defined(__mips64) \
18 && !(defined(__alpha__) && defined(linux)) \
19 && !(defined(__ia64__) && defined(linux)) \
20
21@@ -721,7 +722,7 @@
22 }
23
24 #elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
25-#ifdef __arm32__
26+#if defined (__arm32__) || defined (__mips64)
27 #define PORT_SIZE long
28 #else
29 #define PORT_SIZE short
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
new file mode 100644
index 0000000..c6e23be
--- /dev/null
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_1.14.4.bb
@@ -0,0 +1,35 @@
1require recipes-graphics/xorg-xserver/xserver-xorg.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=bc098b9774ed096943f6c37b5beeef13"
4
5# Misc build failure for master HEAD
6SRC_URI += "file://crosscompile.patch \
7 file://fix_open_max_preprocessor_error.patch \
8 file://mips64-compiler.patch \
9 file://aarch64.patch \
10 "
11
12SRC_URI[md5sum] = "9d68a30258c67faa3c036a4a85e8bf97"
13SRC_URI[sha256sum] = "608ccfaafb845f6e559884a30f946d365209172416710d687b190e9e1ff65dc3"
14
15# These extensions are now integrated into the server, so declare the migration
16# path for in-place upgrades.
17
18RREPLACES_${PN} = "${PN}-extension-dri \
19 ${PN}-extension-dri2 \
20 ${PN}-extension-record \
21 ${PN}-extension-extmod \
22 ${PN}-extension-dbe \
23 "
24RPROVIDES_${PN} = "${PN}-extension-dri \
25 ${PN}-extension-dri2 \
26 ${PN}-extension-record \
27 ${PN}-extension-extmod \
28 ${PN}-extension-dbe \
29 "
30RCONFLICTS_${PN} = "${PN}-extension-dri \
31 ${PN}-extension-dri2 \
32 ${PN}-extension-record \
33 ${PN}-extension-extmod \
34 ${PN}-extension-dbe \
35 "
diff --git a/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb
new file mode 100644
index 0000000..3accf90
--- /dev/null
+++ b/recipes-kernel/kernel-module-mcc/kernel-module-mcc_1.04.bb
@@ -0,0 +1,15 @@
1# Copyright (C) 2013 Timesys Corporation
2SUMMARY = "Multicore communication kernel module"
3LICENSE = "GPL-2.0"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=c8959abcbbe4d6676c58eab9354019e6"
5
6inherit module
7
8SRC_URI = "http://repository.timesys.com/buildsources/m/mcc-kmod/mcc-kmod-${PV}/mcc-kmod-${PV}.tar.bz2"
9
10SRC_URI[md5sum] = "d72e8f6575605906be94ac2d26e6bc26"
11SRC_URI[sha256sum] = "f86a860e68cefdce70796572d97ddd4cc5e08d9f13117b431599add55bf1a651"
12
13S = "${WORKDIR}/mcc-kmod-${PV}"
14
15COMPATIBLE_MACHINE = "(vf60)"
diff --git a/recipes-kernel/linux/linux-fslc.inc b/recipes-kernel/linux/linux-fslc.inc
new file mode 100644
index 0000000..dc560b9
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc.inc
@@ -0,0 +1,18 @@
1# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
6DEPENDS += "lzop-native bc-native"
7PROVIDES = "virtual/kernel linux-mainline"
8
9inherit kernel
10
11require recipes-kernel/linux/linux-imx.inc
12require recipes-kernel/linux/linux-dtb.inc
13
14SRCBRANCH ?= ""
15
16SRC_URI = "git://github.com/Freescale/linux-mainline.git;branch=${SRCBRANCH} \
17 file://defconfig"
18LOCALVERSION = "-fslc"
diff --git a/recipes-kernel/linux/linux-fslc/defconfig b/recipes-kernel/linux/linux-fslc/defconfig
new file mode 100644
index 0000000..53e82c2
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc/defconfig
@@ -0,0 +1,295 @@
1# CONFIG_LOCALVERSION_AUTO is not set
2CONFIG_KERNEL_LZO=y
3CONFIG_SYSVIPC=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
6CONFIG_LOG_BUF_SHIFT=18
7CONFIG_CGROUPS=y
8CONFIG_RELAY=y
9CONFIG_BLK_DEV_INITRD=y
10CONFIG_EXPERT=y
11CONFIG_PERF_EVENTS=y
12# CONFIG_SLUB_DEBUG is not set
13# CONFIG_COMPAT_BRK is not set
14CONFIG_MODULES=y
15CONFIG_MODULE_UNLOAD=y
16CONFIG_MODVERSIONS=y
17CONFIG_MODULE_SRCVERSION_ALL=y
18# CONFIG_BLK_DEV_BSG is not set
19CONFIG_ARCH_MULTI_V6=y
20CONFIG_ARCH_MXC=y
21CONFIG_MACH_MX31LILLY=y
22CONFIG_MACH_MX31LITE=y
23CONFIG_MACH_PCM037=y
24CONFIG_MACH_PCM037_EET=y
25CONFIG_MACH_MX31_3DS=y
26CONFIG_MACH_MX31MOBOARD=y
27CONFIG_MACH_QONG=y
28CONFIG_MACH_ARMADILLO5X0=y
29CONFIG_MACH_KZM_ARM11_01=y
30CONFIG_MACH_IMX31_DT=y
31CONFIG_MACH_IMX35_DT=y
32CONFIG_MACH_PCM043=y
33CONFIG_MACH_MX35_3DS=y
34CONFIG_MACH_VPR200=y
35CONFIG_MACH_IMX51_DT=y
36CONFIG_MACH_EUKREA_CPUIMX51SD=y
37CONFIG_SOC_IMX50=y
38CONFIG_SOC_IMX53=y
39CONFIG_SOC_IMX6Q=y
40CONFIG_SOC_IMX6SL=y
41CONFIG_SOC_VF610=y
42CONFIG_SMP=y
43CONFIG_VMSPLIT_2G=y
44CONFIG_PREEMPT_VOLUNTARY=y
45CONFIG_AEABI=y
46CONFIG_HIGHMEM=y
47CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
48CONFIG_VFP=y
49CONFIG_NEON=y
50CONFIG_BINFMT_MISC=m
51CONFIG_PM_RUNTIME=y
52CONFIG_PM_DEBUG=y
53CONFIG_PM_TEST_SUSPEND=y
54CONFIG_NET=y
55CONFIG_PACKET=y
56CONFIG_UNIX=y
57CONFIG_INET=y
58CONFIG_IP_PNP=y
59CONFIG_IP_PNP_DHCP=y
60# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
61# CONFIG_INET_XFRM_MODE_TUNNEL is not set
62# CONFIG_INET_XFRM_MODE_BEET is not set
63# CONFIG_INET_LRO is not set
64CONFIG_IPV6=y
65CONFIG_NETFILTER=y
66CONFIG_CFG80211=y
67CONFIG_MAC80211=y
68CONFIG_RFKILL=y
69CONFIG_RFKILL_INPUT=y
70CONFIG_DEVTMPFS=y
71CONFIG_DEVTMPFS_MOUNT=y
72# CONFIG_STANDALONE is not set
73CONFIG_IMX_WEIM=y
74CONFIG_CONNECTOR=y
75CONFIG_MTD=y
76CONFIG_MTD_CMDLINE_PARTS=y
77CONFIG_MTD_BLOCK=y
78CONFIG_MTD_CFI=y
79CONFIG_MTD_JEDECPROBE=y
80CONFIG_MTD_CFI_INTELEXT=y
81CONFIG_MTD_CFI_AMDSTD=y
82CONFIG_MTD_CFI_STAA=y
83CONFIG_MTD_PHYSMAP_OF=y
84CONFIG_MTD_DATAFLASH=y
85CONFIG_MTD_M25P80=y
86CONFIG_MTD_SST25L=y
87CONFIG_MTD_NAND=y
88CONFIG_MTD_NAND_GPMI_NAND=y
89CONFIG_MTD_NAND_MXC=y
90CONFIG_MTD_UBI=y
91CONFIG_BLK_DEV_LOOP=y
92CONFIG_BLK_DEV_RAM=y
93CONFIG_BLK_DEV_RAM_SIZE=65536
94CONFIG_EEPROM_AT24=y
95CONFIG_EEPROM_AT25=y
96# CONFIG_SCSI_PROC_FS is not set
97CONFIG_BLK_DEV_SD=y
98CONFIG_SCSI_MULTI_LUN=y
99CONFIG_SCSI_CONSTANTS=y
100CONFIG_SCSI_LOGGING=y
101CONFIG_SCSI_SCAN_ASYNC=y
102# CONFIG_SCSI_LOWLEVEL is not set
103CONFIG_ATA=y
104CONFIG_SATA_AHCI_PLATFORM=y
105CONFIG_AHCI_IMX=y
106CONFIG_PATA_IMX=y
107CONFIG_NETDEVICES=y
108# CONFIG_NET_VENDOR_BROADCOM is not set
109CONFIG_CS89x0=y
110CONFIG_CS89x0_PLATFORM=y
111# CONFIG_NET_VENDOR_FARADAY is not set
112# CONFIG_NET_VENDOR_INTEL is not set
113# CONFIG_NET_VENDOR_MARVELL is not set
114# CONFIG_NET_VENDOR_MICREL is not set
115# CONFIG_NET_VENDOR_MICROCHIP is not set
116# CONFIG_NET_VENDOR_NATSEMI is not set
117# CONFIG_NET_VENDOR_SEEQ is not set
118CONFIG_SMC91X=y
119CONFIG_SMC911X=y
120CONFIG_SMSC911X=y
121# CONFIG_NET_VENDOR_STMICRO is not set
122CONFIG_AT803X_PHY=y
123CONFIG_BRCMFMAC=m
124# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
125CONFIG_INPUT_EVDEV=y
126CONFIG_INPUT_EVBUG=m
127CONFIG_KEYBOARD_GPIO=y
128CONFIG_KEYBOARD_IMX=y
129CONFIG_MOUSE_PS2=m
130CONFIG_MOUSE_PS2_ELANTECH=y
131CONFIG_INPUT_TOUCHSCREEN=y
132CONFIG_TOUCHSCREEN_EGALAX=y
133CONFIG_TOUCHSCREEN_MC13783=y
134CONFIG_TOUCHSCREEN_TSC2007=y
135CONFIG_TOUCHSCREEN_STMPE=y
136CONFIG_INPUT_MISC=y
137CONFIG_INPUT_MMA8450=y
138CONFIG_SERIO_SERPORT=m
139# CONFIG_LEGACY_PTYS is not set
140# CONFIG_DEVKMEM is not set
141CONFIG_SERIAL_IMX=y
142CONFIG_SERIAL_IMX_CONSOLE=y
143CONFIG_SERIAL_FSL_LPUART=y
144CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
145CONFIG_HW_RANDOM=y
146CONFIG_HW_RANDOM_MXC_RNGA=y
147# CONFIG_I2C_COMPAT is not set
148CONFIG_I2C_CHARDEV=y
149# CONFIG_I2C_HELPER_AUTO is not set
150CONFIG_I2C_ALGOPCF=m
151CONFIG_I2C_ALGOPCA=m
152CONFIG_I2C_IMX=y
153CONFIG_SPI=y
154CONFIG_SPI_IMX=y
155CONFIG_GPIO_SYSFS=y
156CONFIG_GPIO_MC9S08DZ60=y
157# CONFIG_HWMON is not set
158CONFIG_WATCHDOG=y
159CONFIG_IMX2_WDT=y
160CONFIG_MFD_DA9052_I2C=y
161CONFIG_MFD_MC13XXX_SPI=y
162CONFIG_MFD_MC13XXX_I2C=y
163CONFIG_MFD_STMPE=y
164CONFIG_REGULATOR=y
165CONFIG_REGULATOR_FIXED_VOLTAGE=y
166CONFIG_REGULATOR_ANATOP=y
167CONFIG_REGULATOR_DA9052=y
168CONFIG_REGULATOR_MC13783=y
169CONFIG_REGULATOR_MC13892=y
170CONFIG_REGULATOR_PFUZE100=y
171CONFIG_MEDIA_SUPPORT=y
172CONFIG_MEDIA_CAMERA_SUPPORT=y
173CONFIG_MEDIA_RC_SUPPORT=y
174CONFIG_RC_DEVICES=y
175CONFIG_IR_GPIO_CIR=y
176CONFIG_V4L_PLATFORM_DRIVERS=y
177CONFIG_SOC_CAMERA=y
178CONFIG_VIDEO_MX3=y
179CONFIG_V4L_MEM2MEM_DRIVERS=y
180CONFIG_VIDEO_CODA=y
181CONFIG_SOC_CAMERA_OV2640=y
182CONFIG_DRM=y
183CONFIG_BACKLIGHT_LCD_SUPPORT=y
184CONFIG_LCD_CLASS_DEVICE=y
185CONFIG_LCD_L4F00242T03=y
186CONFIG_LCD_PLATFORM=y
187CONFIG_BACKLIGHT_CLASS_DEVICE=y
188CONFIG_BACKLIGHT_PWM=y
189CONFIG_FRAMEBUFFER_CONSOLE=y
190CONFIG_LOGO=y
191CONFIG_SOUND=y
192CONFIG_SND=y
193CONFIG_SND_SOC=y
194CONFIG_SND_IMX_SOC=y
195CONFIG_SND_SOC_PHYCORE_AC97=y
196CONFIG_SND_SOC_EUKREA_TLV320=y
197CONFIG_SND_SOC_IMX_WM8962=y
198CONFIG_SND_SOC_IMX_SGTL5000=y
199CONFIG_SND_SOC_IMX_SPDIF=y
200CONFIG_SND_SOC_IMX_MC13783=y
201CONFIG_USB=y
202CONFIG_USB_EHCI_HCD=y
203CONFIG_USB_EHCI_MXC=y
204CONFIG_USB_STORAGE=y
205CONFIG_USB_CHIPIDEA=y
206CONFIG_USB_CHIPIDEA_UDC=y
207CONFIG_USB_CHIPIDEA_HOST=y
208CONFIG_NOP_USB_XCEIV=y
209CONFIG_USB_MXS_PHY=y
210CONFIG_USB_GADGET=y
211CONFIG_USB_ETH=m
212CONFIG_USB_MASS_STORAGE=m
213CONFIG_MMC=y
214CONFIG_MMC_SDHCI=y
215CONFIG_MMC_SDHCI_PLTFM=y
216CONFIG_MMC_SDHCI_ESDHC_IMX=y
217CONFIG_NEW_LEDS=y
218CONFIG_LEDS_CLASS=y
219CONFIG_LEDS_GPIO=y
220CONFIG_LEDS_TRIGGERS=y
221CONFIG_LEDS_TRIGGER_TIMER=y
222CONFIG_LEDS_TRIGGER_ONESHOT=y
223CONFIG_LEDS_TRIGGER_HEARTBEAT=y
224CONFIG_LEDS_TRIGGER_BACKLIGHT=y
225CONFIG_LEDS_TRIGGER_GPIO=y
226CONFIG_RTC_CLASS=y
227CONFIG_RTC_INTF_DEV_UIE_EMUL=y
228CONFIG_RTC_DRV_MC13XXX=y
229CONFIG_RTC_DRV_MXC=y
230CONFIG_RTC_DRV_SNVS=y
231CONFIG_DMADEVICES=y
232CONFIG_IMX_SDMA=y
233CONFIG_MXS_DMA=y
234CONFIG_STAGING=y
235CONFIG_DRM_IMX=y
236CONFIG_DRM_IMX_FB_HELPER=y
237CONFIG_DRM_IMX_PARALLEL_DISPLAY=y
238CONFIG_DRM_IMX_TVE=y
239CONFIG_DRM_IMX_LDB=y
240CONFIG_DRM_IMX_IPUV3_CORE=y
241CONFIG_DRM_IMX_IPUV3=y
242CONFIG_COMMON_CLK_DEBUG=y
243# CONFIG_IOMMU_SUPPORT is not set
244CONFIG_PWM=y
245CONFIG_PWM_IMX=y
246CONFIG_EXT2_FS=y
247CONFIG_EXT2_FS_XATTR=y
248CONFIG_EXT2_FS_POSIX_ACL=y
249CONFIG_EXT2_FS_SECURITY=y
250CONFIG_EXT3_FS=y
251CONFIG_EXT3_FS_POSIX_ACL=y
252CONFIG_EXT3_FS_SECURITY=y
253CONFIG_EXT4_FS=y
254CONFIG_EXT4_FS_POSIX_ACL=y
255CONFIG_EXT4_FS_SECURITY=y
256CONFIG_QUOTA=y
257CONFIG_QUOTA_NETLINK_INTERFACE=y
258# CONFIG_PRINT_QUOTA_WARNING is not set
259CONFIG_AUTOFS4_FS=y
260CONFIG_FUSE_FS=y
261CONFIG_ISO9660_FS=m
262CONFIG_JOLIET=y
263CONFIG_ZISOFS=y
264CONFIG_UDF_FS=m
265CONFIG_MSDOS_FS=m
266CONFIG_VFAT_FS=y
267CONFIG_TMPFS=y
268CONFIG_JFFS2_FS=y
269CONFIG_UBIFS_FS=y
270CONFIG_NFS_FS=y
271CONFIG_NFS_V3_ACL=y
272CONFIG_NFS_V4=y
273CONFIG_ROOT_NFS=y
274CONFIG_NLS_DEFAULT="cp437"
275CONFIG_NLS_CODEPAGE_437=y
276CONFIG_NLS_ASCII=y
277CONFIG_NLS_ISO8859_1=y
278CONFIG_NLS_ISO8859_15=m
279CONFIG_NLS_UTF8=y
280CONFIG_MAGIC_SYSRQ=y
281# CONFIG_SCHED_DEBUG is not set
282CONFIG_PROVE_LOCKING=y
283# CONFIG_DEBUG_BUGVERBOSE is not set
284# CONFIG_FTRACE is not set
285# CONFIG_ARM_UNWIND is not set
286CONFIG_SECURITYFS=y
287# CONFIG_CRYPTO_ANSI_CPRNG is not set
288# CONFIG_CRYPTO_HW is not set
289CONFIG_CRC_CCITT=m
290CONFIG_CRC_T10DIF=y
291CONFIG_CRC7=m
292CONFIG_LIBCRC32C=m
293CONFIG_FONTS=y
294CONFIG_FONT_8x8=y
295CONFIG_FONT_8x16=y
diff --git a/recipes-kernel/linux/linux-fslc/mxs/defconfig b/recipes-kernel/linux/linux-fslc/mxs/defconfig
new file mode 100644
index 0000000..6150108
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc/mxs/defconfig
@@ -0,0 +1,186 @@
1CONFIG_SYSVIPC=y
2CONFIG_NO_HZ=y
3CONFIG_HIGH_RES_TIMERS=y
4CONFIG_TASKSTATS=y
5CONFIG_TASK_DELAY_ACCT=y
6CONFIG_TASK_XACCT=y
7CONFIG_TASK_IO_ACCOUNTING=y
8CONFIG_IKCONFIG=y
9CONFIG_IKCONFIG_PROC=y
10# CONFIG_UTS_NS is not set
11# CONFIG_IPC_NS is not set
12# CONFIG_PID_NS is not set
13# CONFIG_NET_NS is not set
14CONFIG_PERF_EVENTS=y
15# CONFIG_COMPAT_BRK is not set
16CONFIG_MODULES=y
17CONFIG_MODULE_FORCE_LOAD=y
18CONFIG_MODULE_UNLOAD=y
19CONFIG_MODULE_FORCE_UNLOAD=y
20CONFIG_MODVERSIONS=y
21CONFIG_BLK_DEV_INTEGRITY=y
22# CONFIG_IOSCHED_DEADLINE is not set
23# CONFIG_IOSCHED_CFQ is not set
24# CONFIG_ARCH_MULTI_V7 is not set
25CONFIG_ARCH_MXS=y
26# CONFIG_ARM_THUMB is not set
27CONFIG_PREEMPT_VOLUNTARY=y
28CONFIG_AEABI=y
29CONFIG_FPE_NWFPE=y
30CONFIG_NET=y
31CONFIG_PACKET=y
32CONFIG_UNIX=y
33CONFIG_INET=y
34CONFIG_IP_PNP=y
35CONFIG_IP_PNP_DHCP=y
36CONFIG_SYN_COOKIES=y
37# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
38# CONFIG_INET_XFRM_MODE_TUNNEL is not set
39# CONFIG_INET_XFRM_MODE_BEET is not set
40# CONFIG_INET_LRO is not set
41# CONFIG_INET_DIAG is not set
42# CONFIG_IPV6 is not set
43CONFIG_CAN=m
44CONFIG_CAN_FLEXCAN=m
45# CONFIG_WIRELESS is not set
46CONFIG_DEVTMPFS=y
47CONFIG_DEVTMPFS_MOUNT=y
48# CONFIG_FIRMWARE_IN_KERNEL is not set
49CONFIG_MTD=y
50CONFIG_MTD_CMDLINE_PARTS=y
51CONFIG_MTD_BLOCK=y
52CONFIG_MTD_DATAFLASH=y
53CONFIG_MTD_M25P80=y
54# CONFIG_M25PXX_USE_FAST_READ is not set
55CONFIG_MTD_SST25L=y
56CONFIG_MTD_NAND=y
57CONFIG_MTD_NAND_GPMI_NAND=y
58CONFIG_MTD_UBI=y
59# CONFIG_BLK_DEV is not set
60CONFIG_EEPROM_AT24=y
61CONFIG_SCSI=y
62CONFIG_BLK_DEV_SD=y
63CONFIG_NETDEVICES=y
64CONFIG_ENC28J60=y
65CONFIG_SMSC_PHY=y
66CONFIG_ICPLUS_PHY=y
67CONFIG_REALTEK_PHY=y
68CONFIG_MICREL_PHY=y
69CONFIG_USB_USBNET=y
70CONFIG_USB_NET_SMSC95XX=y
71# CONFIG_WLAN is not set
72# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
73CONFIG_INPUT_EVDEV=y
74# CONFIG_INPUT_KEYBOARD is not set
75# CONFIG_INPUT_MOUSE is not set
76CONFIG_INPUT_TOUCHSCREEN=y
77CONFIG_TOUCHSCREEN_TSC2007=m
78# CONFIG_SERIO is not set
79CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
80# CONFIG_LEGACY_PTYS is not set
81# CONFIG_DEVKMEM is not set
82CONFIG_SERIAL_AMBA_PL011=y
83CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
84CONFIG_SERIAL_MXS_AUART=y
85# CONFIG_HW_RANDOM is not set
86CONFIG_I2C=y
87# CONFIG_I2C_COMPAT is not set
88CONFIG_I2C_CHARDEV=y
89CONFIG_I2C_MXS=y
90CONFIG_SPI=y
91CONFIG_SPI_GPIO=m
92CONFIG_SPI_MXS=y
93CONFIG_GPIO_SYSFS=y
94# CONFIG_HWMON is not set
95CONFIG_WATCHDOG=y
96CONFIG_STMP3XXX_RTC_WATCHDOG=y
97CONFIG_REGULATOR=y
98CONFIG_REGULATOR_FIXED_VOLTAGE=y
99CONFIG_FB=y
100CONFIG_FB_MXS=y
101CONFIG_BACKLIGHT_LCD_SUPPORT=y
102CONFIG_LCD_CLASS_DEVICE=y
103CONFIG_BACKLIGHT_CLASS_DEVICE=y
104CONFIG_BACKLIGHT_PWM=y
105CONFIG_FRAMEBUFFER_CONSOLE=y
106CONFIG_LOGO=y
107CONFIG_SOUND=y
108CONFIG_SND=y
109CONFIG_SND_SOC=y
110CONFIG_SND_MXS_SOC=y
111CONFIG_SND_SOC_MXS_SGTL5000=y
112CONFIG_USB=y
113CONFIG_USB_EHCI_HCD=y
114CONFIG_USB_STORAGE=y
115CONFIG_USB_CHIPIDEA=y
116CONFIG_USB_CHIPIDEA_UDC=y
117CONFIG_USB_CHIPIDEA_HOST=y
118CONFIG_USB_MXS_PHY=y
119CONFIG_USB_GADGET=y
120CONFIG_USB_ETH=m
121CONFIG_USB_MASS_STORAGE=m
122CONFIG_MMC=y
123CONFIG_MMC_UNSAFE_RESUME=y
124CONFIG_MMC_MXS=y
125CONFIG_NEW_LEDS=y
126CONFIG_LEDS_CLASS=y
127CONFIG_LEDS_GPIO=y
128CONFIG_LEDS_TRIGGERS=y
129CONFIG_LEDS_TRIGGER_TIMER=y
130CONFIG_LEDS_TRIGGER_ONESHOT=y
131CONFIG_LEDS_TRIGGER_HEARTBEAT=y
132CONFIG_LEDS_TRIGGER_BACKLIGHT=y
133CONFIG_LEDS_TRIGGER_GPIO=y
134CONFIG_RTC_CLASS=y
135CONFIG_RTC_DRV_DS1307=m
136CONFIG_RTC_DRV_STMP=y
137CONFIG_DMADEVICES=y
138CONFIG_MXS_DMA=y
139CONFIG_STAGING=y
140CONFIG_MXS_LRADC=y
141CONFIG_COMMON_CLK_DEBUG=y
142CONFIG_IIO=y
143CONFIG_IIO_SYSFS_TRIGGER=y
144CONFIG_PWM=y
145CONFIG_PWM_MXS=y
146CONFIG_EXT2_FS=y
147CONFIG_EXT2_FS_XATTR=y
148CONFIG_EXT3_FS=y
149CONFIG_EXT4_FS=y
150# CONFIG_DNOTIFY is not set
151CONFIG_FSCACHE=m
152CONFIG_FSCACHE_STATS=y
153CONFIG_CACHEFILES=m
154CONFIG_TMPFS=y
155CONFIG_TMPFS_POSIX_ACL=y
156CONFIG_JFFS2_FS=y
157CONFIG_JFFS2_COMPRESSION_OPTIONS=y
158CONFIG_JFFS2_LZO=y
159CONFIG_JFFS2_RUBIN=y
160CONFIG_UBIFS_FS=y
161CONFIG_UBIFS_FS_ADVANCED_COMPR=y
162CONFIG_NFS_FS=y
163CONFIG_NFS_V3_ACL=y
164CONFIG_NFS_V4=y
165CONFIG_ROOT_NFS=y
166CONFIG_NLS_CODEPAGE_437=y
167CONFIG_NLS_CODEPAGE_850=y
168CONFIG_NLS_ISO8859_1=y
169CONFIG_NLS_ISO8859_15=y
170CONFIG_PRINTK_TIME=y
171CONFIG_DEBUG_INFO=y
172CONFIG_FRAME_WARN=2048
173CONFIG_UNUSED_SYMBOLS=y
174CONFIG_MAGIC_SYSRQ=y
175CONFIG_DEBUG_KERNEL=y
176CONFIG_LOCKUP_DETECTOR=y
177CONFIG_TIMER_STATS=y
178CONFIG_PROVE_LOCKING=y
179CONFIG_BLK_DEV_IO_TRACE=y
180CONFIG_STRICT_DEVMEM=y
181CONFIG_DEBUG_USER=y
182# CONFIG_CRYPTO_ANSI_CPRNG is not set
183# CONFIG_CRYPTO_HW is not set
184CONFIG_CRC_ITU_T=m
185CONFIG_CRC7=m
186CONFIG_FONTS=y
diff --git a/recipes-kernel/linux/linux-fslc_3.14.bb b/recipes-kernel/linux/linux-fslc_3.14.bb
new file mode 100644
index 0000000..fb41d2d
--- /dev/null
+++ b/recipes-kernel/linux/linux-fslc_3.14.bb
@@ -0,0 +1,17 @@
1# Copyright (C) 2012-2014 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "FSL Community BSP Linux mainline based kernel with backported features and fixes"
5DESCRIPTION = "Linux kernel based on mainline kernel used by FSL Community BSP in order to \
6provide support for some backported features and fixes, or because it was applied in linux-next \
7and takes some time to become part of a stable version, or because it is not applicable for \
8upstreaming."
9
10include linux-fslc.inc
11
12PV = "3.14+git${SRCPV}"
13
14SRCBRANCH = "patches-3.14"
15SRCREV = "c34636a55713cace69f1f753f30da3d63fbf72ad"
16
17COMPATIBLE_MACHINE = "(mxs|mx3|mx5|mx6)"
diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig
new file mode 100644
index 0000000..3c20ee8
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-2.6.35.3/imx23evk/defconfig
@@ -0,0 +1,2053 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.35.3
4# Sat Aug 4 14:59:15 2012
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
11CONFIG_GENERIC_CLOCKEVENTS=y
12CONFIG_HAVE_PROC_CPU=y
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21CONFIG_ARCH_HAS_CPUFREQ=y
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_NEED_DMA_MAP_STATE=y
26CONFIG_FIQ=y
27CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
28CONFIG_VECTORS_BASE=0xffff0000
29CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
30CONFIG_CONSTRUCTORS=y
31
32#
33# General setup
34#
35CONFIG_EXPERIMENTAL=y
36CONFIG_BROKEN_ON_SMP=y
37CONFIG_LOCK_KERNEL=y
38CONFIG_INIT_ENV_ARG_LIMIT=32
39CONFIG_CROSS_COMPILE=""
40CONFIG_LOCALVERSION=""
41CONFIG_LOCALVERSION_AUTO=y
42CONFIG_HAVE_KERNEL_GZIP=y
43CONFIG_HAVE_KERNEL_LZMA=y
44CONFIG_HAVE_KERNEL_LZO=y
45CONFIG_KERNEL_GZIP=y
46# CONFIG_KERNEL_BZIP2 is not set
47# CONFIG_KERNEL_LZMA is not set
48# CONFIG_KERNEL_LZO is not set
49# CONFIG_SWAP is not set
50CONFIG_SYSVIPC=y
51CONFIG_SYSVIPC_SYSCTL=y
52# CONFIG_POSIX_MQUEUE is not set
53# CONFIG_BSD_PROCESS_ACCT is not set
54# CONFIG_TASKSTATS is not set
55# CONFIG_AUDIT is not set
56
57#
58# RCU Subsystem
59#
60CONFIG_TREE_RCU=y
61# CONFIG_TREE_PREEMPT_RCU is not set
62# CONFIG_TINY_RCU is not set
63# CONFIG_RCU_TRACE is not set
64CONFIG_RCU_FANOUT=32
65# CONFIG_RCU_FANOUT_EXACT is not set
66# CONFIG_TREE_RCU_TRACE is not set
67CONFIG_IKCONFIG=y
68CONFIG_IKCONFIG_PROC=y
69CONFIG_LOG_BUF_SHIFT=14
70# CONFIG_CGROUPS is not set
71# CONFIG_RELAY is not set
72# CONFIG_NAMESPACES is not set
73CONFIG_BLK_DEV_INITRD=y
74CONFIG_INITRAMFS_SOURCE=""
75CONFIG_RD_GZIP=y
76CONFIG_RD_BZIP2=y
77CONFIG_RD_LZMA=y
78# CONFIG_RD_LZO is not set
79CONFIG_CC_OPTIMIZE_FOR_SIZE=y
80CONFIG_SYSCTL=y
81CONFIG_ANON_INODES=y
82CONFIG_EMBEDDED=y
83CONFIG_UID16=y
84CONFIG_SYSCTL_SYSCALL=y
85CONFIG_KALLSYMS=y
86# CONFIG_KALLSYMS_ALL is not set
87# CONFIG_KALLSYMS_EXTRA_PASS is not set
88CONFIG_HOTPLUG=y
89CONFIG_PRINTK=y
90CONFIG_BUG=y
91CONFIG_ELF_CORE=y
92CONFIG_BASE_FULL=y
93CONFIG_FUTEX=y
94CONFIG_EPOLL=y
95CONFIG_SIGNALFD=y
96CONFIG_TIMERFD=y
97CONFIG_EVENTFD=y
98CONFIG_SHMEM=y
99# CONFIG_ASHMEM is not set
100CONFIG_AIO=y
101CONFIG_HAVE_PERF_EVENTS=y
102CONFIG_PERF_USE_VMALLOC=y
103
104#
105# Kernel Performance Events And Counters
106#
107# CONFIG_PERF_EVENTS is not set
108# CONFIG_PERF_COUNTERS is not set
109CONFIG_VM_EVENT_COUNTERS=y
110CONFIG_SLUB_DEBUG=y
111CONFIG_COMPAT_BRK=y
112# CONFIG_SLAB is not set
113CONFIG_SLUB=y
114# CONFIG_SLOB is not set
115# CONFIG_PROFILING is not set
116CONFIG_HAVE_OPROFILE=y
117# CONFIG_KPROBES is not set
118CONFIG_HAVE_KPROBES=y
119CONFIG_HAVE_KRETPROBES=y
120CONFIG_HAVE_CLK=y
121
122#
123# GCOV-based kernel profiling
124#
125# CONFIG_SLOW_WORK is not set
126CONFIG_HAVE_GENERIC_DMA_COHERENT=y
127CONFIG_SLABINFO=y
128CONFIG_RT_MUTEXES=y
129CONFIG_BASE_SMALL=0
130CONFIG_MODULES=y
131# CONFIG_MODULE_FORCE_LOAD is not set
132CONFIG_MODULE_UNLOAD=y
133CONFIG_MODULE_FORCE_UNLOAD=y
134CONFIG_MODVERSIONS=y
135# CONFIG_MODULE_SRCVERSION_ALL is not set
136CONFIG_BLOCK=y
137CONFIG_LBDAF=y
138# CONFIG_BLK_DEV_BSG is not set
139# CONFIG_BLK_DEV_INTEGRITY is not set
140
141#
142# IO Schedulers
143#
144CONFIG_IOSCHED_NOOP=y
145CONFIG_IOSCHED_DEADLINE=y
146CONFIG_IOSCHED_CFQ=y
147# CONFIG_DEFAULT_DEADLINE is not set
148CONFIG_DEFAULT_CFQ=y
149# CONFIG_DEFAULT_NOOP is not set
150CONFIG_DEFAULT_IOSCHED="cfq"
151# CONFIG_INLINE_SPIN_TRYLOCK is not set
152# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
153# CONFIG_INLINE_SPIN_LOCK is not set
154# CONFIG_INLINE_SPIN_LOCK_BH is not set
155# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
156# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
157# CONFIG_INLINE_SPIN_UNLOCK is not set
158# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
159# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
160# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
161# CONFIG_INLINE_READ_TRYLOCK is not set
162# CONFIG_INLINE_READ_LOCK is not set
163# CONFIG_INLINE_READ_LOCK_BH is not set
164# CONFIG_INLINE_READ_LOCK_IRQ is not set
165# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
166# CONFIG_INLINE_READ_UNLOCK is not set
167# CONFIG_INLINE_READ_UNLOCK_BH is not set
168# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
169# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
170# CONFIG_INLINE_WRITE_TRYLOCK is not set
171# CONFIG_INLINE_WRITE_LOCK is not set
172# CONFIG_INLINE_WRITE_LOCK_BH is not set
173# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
174# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
175# CONFIG_INLINE_WRITE_UNLOCK is not set
176# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
177# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
178# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
179# CONFIG_MUTEX_SPIN_ON_OWNER is not set
180CONFIG_FREEZER=y
181
182#
183# System Type
184#
185CONFIG_MMU=y
186# CONFIG_ARCH_AAEC2000 is not set
187# CONFIG_ARCH_INTEGRATOR is not set
188# CONFIG_ARCH_REALVIEW is not set
189# CONFIG_ARCH_VERSATILE is not set
190# CONFIG_ARCH_VEXPRESS is not set
191# CONFIG_ARCH_AT91 is not set
192# CONFIG_ARCH_BCMRING is not set
193# CONFIG_ARCH_CLPS711X is not set
194# CONFIG_ARCH_CNS3XXX is not set
195# CONFIG_ARCH_GEMINI is not set
196# CONFIG_ARCH_EBSA110 is not set
197# CONFIG_ARCH_EP93XX is not set
198# CONFIG_ARCH_FOOTBRIDGE is not set
199# CONFIG_ARCH_MXC is not set
200# CONFIG_ARCH_STMP3XXX is not set
201CONFIG_ARCH_MXS=y
202# CONFIG_ARCH_NETX is not set
203# CONFIG_ARCH_H720X is not set
204# CONFIG_ARCH_IOP13XX is not set
205# CONFIG_ARCH_IOP32X is not set
206# CONFIG_ARCH_IOP33X is not set
207# CONFIG_ARCH_IXP23XX is not set
208# CONFIG_ARCH_IXP2000 is not set
209# CONFIG_ARCH_IXP4XX is not set
210# CONFIG_ARCH_L7200 is not set
211# CONFIG_ARCH_DOVE is not set
212# CONFIG_ARCH_KIRKWOOD is not set
213# CONFIG_ARCH_LOKI is not set
214# CONFIG_ARCH_MV78XX0 is not set
215# CONFIG_ARCH_ORION5X is not set
216# CONFIG_ARCH_MMP is not set
217# CONFIG_ARCH_KS8695 is not set
218# CONFIG_ARCH_NS9XXX is not set
219# CONFIG_ARCH_W90X900 is not set
220# CONFIG_ARCH_NUC93X is not set
221# CONFIG_ARCH_PNX4008 is not set
222# CONFIG_ARCH_PXA is not set
223# CONFIG_ARCH_MSM is not set
224# CONFIG_ARCH_SHMOBILE is not set
225# CONFIG_ARCH_RPC is not set
226# CONFIG_ARCH_SA1100 is not set
227# CONFIG_ARCH_S3C2410 is not set
228# CONFIG_ARCH_S3C64XX is not set
229# CONFIG_ARCH_S5P6440 is not set
230# CONFIG_ARCH_S5P6442 is not set
231# CONFIG_ARCH_S5PC100 is not set
232# CONFIG_ARCH_S5PV210 is not set
233# CONFIG_ARCH_SHARK is not set
234# CONFIG_ARCH_LH7A40X is not set
235# CONFIG_ARCH_U300 is not set
236# CONFIG_ARCH_U8500 is not set
237# CONFIG_ARCH_NOMADIK is not set
238# CONFIG_ARCH_DAVINCI is not set
239# CONFIG_ARCH_OMAP is not set
240# CONFIG_PLAT_SPEAR is not set
241CONFIG_IRAM_ALLOC=y
242CONFIG_DMA_ZONE_SIZE=12
243
244#
245# Freescale i.MXS implementations
246#
247# CONFIG_ARCH_MX28 is not set
248CONFIG_ARCH_MX23=y
249CONFIG_VECTORS_PHY_ADDR=0
250CONFIG_MACH_MX23EVK=y
251CONFIG_MXS_UNIQUE_ID=y
252CONFIG_MXS_UNIQUE_ID_OTP=y
253CONFIG_MXS_ICOLL=y
254CONFIG_MXS_EARLY_CONSOLE=y
255CONFIG_MXS_DMA_ENGINE=y
256CONFIG_MXS_LRADC=y
257CONFIG_MXS_PWM_CHANNELS=8
258
259#
260# Freescale Application UART:
261#
262CONFIG_MXS_AUART_DMA_SUPPORT=y
263CONFIG_MXS_AUART_PORTS=5
264# CONFIG_MXS_AUART0_DEVICE_ENABLE is not set
265# CONFIG_MXS_AUART0_DMA_ENABLE is not set
266CONFIG_MXS_AUART1_DEVICE_ENABLE=y
267# CONFIG_MXS_AUART1_DMA_ENABLE is not set
268# CONFIG_MXS_AUART2_DEVICE_ENABLE is not set
269# CONFIG_MXS_AUART2_DMA_ENABLE is not set
270# CONFIG_MXS_AUART3_DEVICE_ENABLE is not set
271# CONFIG_MXS_AUART3_DMA_ENABLE is not set
272# CONFIG_MXS_AUART4_DEVICE_ENABLE is not set
273# CONFIG_MXS_AUART4_DMA_ENABLE is not set
274CONFIG_MXS_RAM_FREQ_SCALING=y
275# CONFIG_MXS_RAM_MDDR is not set
276CONFIG_MXS_RAM_DDR=y
277
278#
279# Processor Type
280#
281CONFIG_CPU_ARM926T=y
282CONFIG_CPU_32v5=y
283CONFIG_CPU_ABRT_EV5TJ=y
284CONFIG_CPU_PABRT_LEGACY=y
285CONFIG_CPU_CACHE_VIVT=y
286CONFIG_CPU_COPY_V4WB=y
287CONFIG_CPU_TLB_V4WBI=y
288CONFIG_CPU_CP15=y
289CONFIG_CPU_CP15_MMU=y
290
291#
292# Processor Features
293#
294CONFIG_ARM_THUMB=y
295# CONFIG_CPU_ICACHE_DISABLE is not set
296# CONFIG_CPU_DCACHE_DISABLE is not set
297# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
298# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
299CONFIG_ARM_L1_CACHE_SHIFT=5
300CONFIG_COMMON_CLKDEV=y
301
302#
303# Bus support
304#
305# CONFIG_PCI_SYSCALL is not set
306# CONFIG_ARCH_SUPPORTS_MSI is not set
307# CONFIG_PCCARD is not set
308
309#
310# Kernel Features
311#
312CONFIG_TICK_ONESHOT=y
313CONFIG_NO_HZ=y
314CONFIG_HIGH_RES_TIMERS=y
315CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
316CONFIG_VMSPLIT_3G=y
317# CONFIG_VMSPLIT_2G is not set
318# CONFIG_VMSPLIT_1G is not set
319CONFIG_PAGE_OFFSET=0xC0000000
320# CONFIG_PREEMPT_NONE is not set
321# CONFIG_PREEMPT_VOLUNTARY is not set
322CONFIG_PREEMPT=y
323CONFIG_HZ=100
324CONFIG_AEABI=y
325# CONFIG_OABI_COMPAT is not set
326# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
327# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
328# CONFIG_HIGHMEM is not set
329CONFIG_SELECT_MEMORY_MODEL=y
330CONFIG_FLATMEM_MANUAL=y
331# CONFIG_DISCONTIGMEM_MANUAL is not set
332# CONFIG_SPARSEMEM_MANUAL is not set
333CONFIG_FLATMEM=y
334CONFIG_FLAT_NODE_MEM_MAP=y
335CONFIG_PAGEFLAGS_EXTENDED=y
336CONFIG_SPLIT_PTLOCK_CPUS=999999
337# CONFIG_PHYS_ADDR_T_64BIT is not set
338CONFIG_ZONE_DMA_FLAG=1
339CONFIG_BOUNCE=y
340CONFIG_VIRT_TO_BUS=y
341# CONFIG_KSM is not set
342CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
343CONFIG_ALIGNMENT_TRAP=y
344# CONFIG_UACCESS_WITH_MEMCPY is not set
345
346#
347# Boot options
348#
349CONFIG_ZBOOT_ROM_TEXT=0x0
350CONFIG_ZBOOT_ROM_BSS=0x0
351CONFIG_CMDLINE=""
352# CONFIG_XIP_KERNEL is not set
353# CONFIG_KEXEC is not set
354
355#
356# CPU Power Management
357#
358CONFIG_CPU_FREQ=y
359CONFIG_CPU_FREQ_TABLE=y
360# CONFIG_CPU_FREQ_DEBUG is not set
361CONFIG_CPU_FREQ_STAT=y
362# CONFIG_CPU_FREQ_STAT_DETAILS is not set
363# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
364# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
365CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
366# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
367# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
368CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
369CONFIG_CPU_FREQ_GOV_POWERSAVE=y
370CONFIG_CPU_FREQ_GOV_USERSPACE=y
371# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
372# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
373# CONFIG_CPU_IDLE is not set
374
375#
376# Floating point emulation
377#
378
379#
380# At least one emulation must be selected
381#
382# CONFIG_VFP is not set
383
384#
385# Userspace binary formats
386#
387CONFIG_BINFMT_ELF=y
388# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
389CONFIG_HAVE_AOUT=y
390# CONFIG_BINFMT_AOUT is not set
391# CONFIG_BINFMT_MISC is not set
392
393#
394# Power management options
395#
396CONFIG_PM=y
397# CONFIG_PM_DEBUG is not set
398CONFIG_PM_SLEEP=y
399CONFIG_SUSPEND_NVS=y
400CONFIG_SUSPEND=y
401CONFIG_SUSPEND_FREEZER=y
402# CONFIG_APM_EMULATION is not set
403# CONFIG_PM_RUNTIME is not set
404CONFIG_PM_OPS=y
405CONFIG_ARCH_SUSPEND_POSSIBLE=y
406CONFIG_NET=y
407
408#
409# Networking options
410#
411CONFIG_PACKET=y
412CONFIG_UNIX=y
413CONFIG_XFRM=y
414# CONFIG_XFRM_USER is not set
415# CONFIG_XFRM_SUB_POLICY is not set
416# CONFIG_XFRM_MIGRATE is not set
417# CONFIG_XFRM_STATISTICS is not set
418# CONFIG_NET_KEY is not set
419CONFIG_INET=y
420CONFIG_IP_MULTICAST=y
421# CONFIG_IP_ADVANCED_ROUTER is not set
422CONFIG_IP_FIB_HASH=y
423CONFIG_IP_PNP=y
424CONFIG_IP_PNP_DHCP=y
425CONFIG_IP_PNP_BOOTP=y
426CONFIG_IP_PNP_RARP=y
427# CONFIG_NET_IPIP is not set
428# CONFIG_NET_IPGRE is not set
429# CONFIG_IP_MROUTE is not set
430CONFIG_ARPD=y
431# CONFIG_SYN_COOKIES is not set
432# CONFIG_INET_AH is not set
433# CONFIG_INET_ESP is not set
434# CONFIG_INET_IPCOMP is not set
435# CONFIG_INET_XFRM_TUNNEL is not set
436CONFIG_INET_TUNNEL=y
437# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
438# CONFIG_INET_XFRM_MODE_TUNNEL is not set
439# CONFIG_INET_XFRM_MODE_BEET is not set
440CONFIG_INET_LRO=y
441CONFIG_INET_DIAG=y
442CONFIG_INET_TCP_DIAG=y
443# CONFIG_TCP_CONG_ADVANCED is not set
444CONFIG_TCP_CONG_CUBIC=y
445CONFIG_DEFAULT_TCP_CONG="cubic"
446# CONFIG_TCP_MD5SIG is not set
447CONFIG_IPV6=y
448# CONFIG_IPV6_PRIVACY is not set
449# CONFIG_IPV6_ROUTER_PREF is not set
450# CONFIG_IPV6_OPTIMISTIC_DAD is not set
451# CONFIG_INET6_AH is not set
452# CONFIG_INET6_ESP is not set
453# CONFIG_INET6_IPCOMP is not set
454# CONFIG_IPV6_MIP6 is not set
455# CONFIG_INET6_XFRM_TUNNEL is not set
456# CONFIG_INET6_TUNNEL is not set
457CONFIG_INET6_XFRM_MODE_TRANSPORT=y
458CONFIG_INET6_XFRM_MODE_TUNNEL=y
459CONFIG_INET6_XFRM_MODE_BEET=y
460# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
461CONFIG_IPV6_SIT=y
462# CONFIG_IPV6_SIT_6RD is not set
463CONFIG_IPV6_NDISC_NODETYPE=y
464# CONFIG_IPV6_TUNNEL is not set
465# CONFIG_IPV6_MULTIPLE_TABLES is not set
466# CONFIG_IPV6_MROUTE is not set
467# CONFIG_NETLABEL is not set
468# CONFIG_NETWORK_SECMARK is not set
469CONFIG_NETFILTER=y
470# CONFIG_NETFILTER_DEBUG is not set
471CONFIG_NETFILTER_ADVANCED=y
472
473#
474# Core Netfilter Configuration
475#
476# CONFIG_NETFILTER_NETLINK_QUEUE is not set
477# CONFIG_NETFILTER_NETLINK_LOG is not set
478# CONFIG_NF_CONNTRACK is not set
479# CONFIG_NETFILTER_XTABLES is not set
480# CONFIG_IP_VS is not set
481
482#
483# IP: Netfilter Configuration
484#
485# CONFIG_NF_DEFRAG_IPV4 is not set
486# CONFIG_IP_NF_QUEUE is not set
487# CONFIG_IP_NF_IPTABLES is not set
488# CONFIG_IP_NF_ARPTABLES is not set
489
490#
491# IPv6: Netfilter Configuration
492#
493# CONFIG_IP6_NF_QUEUE is not set
494# CONFIG_IP6_NF_IPTABLES is not set
495# CONFIG_IP_DCCP is not set
496# CONFIG_IP_SCTP is not set
497# CONFIG_RDS is not set
498# CONFIG_TIPC is not set
499# CONFIG_ATM is not set
500# CONFIG_L2TP is not set
501# CONFIG_BRIDGE is not set
502# CONFIG_NET_DSA is not set
503# CONFIG_VLAN_8021Q is not set
504# CONFIG_DECNET is not set
505# CONFIG_LLC2 is not set
506# CONFIG_IPX is not set
507# CONFIG_ATALK is not set
508# CONFIG_X25 is not set
509# CONFIG_LAPB is not set
510# CONFIG_ECONET is not set
511# CONFIG_WAN_ROUTER is not set
512# CONFIG_PHONET is not set
513# CONFIG_IEEE802154 is not set
514# CONFIG_NET_SCHED is not set
515# CONFIG_DCB is not set
516
517#
518# Network testing
519#
520# CONFIG_NET_PKTGEN is not set
521# CONFIG_HAMRADIO is not set
522# CONFIG_CAN is not set
523# CONFIG_IRDA is not set
524# CONFIG_BT is not set
525# CONFIG_AF_RXRPC is not set
526CONFIG_WIRELESS=y
527# CONFIG_CFG80211 is not set
528# CONFIG_LIB80211 is not set
529
530#
531# CFG80211 needs to be enabled for MAC80211
532#
533
534#
535# Some wireless drivers require a rate control algorithm
536#
537# CONFIG_WIMAX is not set
538CONFIG_RFKILL=y
539CONFIG_RFKILL_INPUT=y
540# CONFIG_NET_9P is not set
541# CONFIG_CAIF is not set
542
543#
544# Device Drivers
545#
546
547#
548# Generic Driver Options
549#
550CONFIG_UEVENT_HELPER_PATH=""
551CONFIG_DEVTMPFS=y
552CONFIG_DEVTMPFS_MOUNT=y
553CONFIG_STANDALONE=y
554CONFIG_PREVENT_FIRMWARE_BUILD=y
555CONFIG_FW_LOADER=y
556CONFIG_FIRMWARE_IN_KERNEL=y
557CONFIG_EXTRA_FIRMWARE=""
558# CONFIG_DEBUG_DRIVER is not set
559# CONFIG_DEBUG_DEVRES is not set
560# CONFIG_SYS_HYPERVISOR is not set
561# CONFIG_CONNECTOR is not set
562CONFIG_MTD=y
563# CONFIG_MTD_DEBUG is not set
564# CONFIG_MTD_TESTS is not set
565CONFIG_MTD_CONCAT=y
566CONFIG_MTD_PARTITIONS=y
567# CONFIG_MTD_REDBOOT_PARTS is not set
568CONFIG_MTD_CMDLINE_PARTS=y
569# CONFIG_MTD_AFS_PARTS is not set
570# CONFIG_MTD_AR7_PARTS is not set
571
572#
573# User Modules And Translation Layers
574#
575CONFIG_MTD_CHAR=y
576CONFIG_MTD_BLKDEVS=y
577CONFIG_MTD_BLOCK=y
578# CONFIG_FTL is not set
579# CONFIG_NFTL is not set
580# CONFIG_INFTL is not set
581# CONFIG_RFD_FTL is not set
582# CONFIG_SSFDC is not set
583# CONFIG_SM_FTL is not set
584# CONFIG_MTD_OOPS is not set
585
586#
587# RAM/ROM/Flash chip drivers
588#
589# CONFIG_MTD_CFI is not set
590# CONFIG_MTD_JEDECPROBE is not set
591CONFIG_MTD_MAP_BANK_WIDTH_1=y
592CONFIG_MTD_MAP_BANK_WIDTH_2=y
593CONFIG_MTD_MAP_BANK_WIDTH_4=y
594# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
595# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
596# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
597CONFIG_MTD_CFI_I1=y
598CONFIG_MTD_CFI_I2=y
599# CONFIG_MTD_CFI_I4 is not set
600# CONFIG_MTD_CFI_I8 is not set
601# CONFIG_MTD_RAM is not set
602# CONFIG_MTD_ROM is not set
603# CONFIG_MTD_ABSENT is not set
604
605#
606# Mapping drivers for chip access
607#
608# CONFIG_MTD_COMPLEX_MAPPINGS is not set
609# CONFIG_MTD_PLATRAM is not set
610
611#
612# Self-contained MTD device drivers
613#
614# CONFIG_MTD_DATAFLASH is not set
615# CONFIG_MTD_MXC_DATAFLASH is not set
616# CONFIG_MTD_M25P80 is not set
617# CONFIG_MTD_SST25L is not set
618# CONFIG_MTD_SLRAM is not set
619# CONFIG_MTD_PHRAM is not set
620# CONFIG_MTD_MTDRAM is not set
621# CONFIG_MTD_BLOCK2MTD is not set
622
623#
624# Disk-On-Chip Device Drivers
625#
626# CONFIG_MTD_DOC2000 is not set
627# CONFIG_MTD_DOC2001 is not set
628# CONFIG_MTD_DOC2001PLUS is not set
629CONFIG_MTD_NAND_ECC=y
630# CONFIG_MTD_NAND_ECC_SMC is not set
631CONFIG_MTD_NAND=y
632# CONFIG_MTD_NAND_VERIFY_WRITE is not set
633# CONFIG_MTD_SM_COMMON is not set
634# CONFIG_MTD_NAND_MUSEUM_IDS is not set
635CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
636# CONFIG_MTD_NAND_GPIO is not set
637CONFIG_MTD_NAND_IDS=y
638# CONFIG_MTD_NAND_DISKONCHIP is not set
639# CONFIG_MTD_NAND_NANDSIM is not set
640CONFIG_MTD_NAND_GPMI_NFC=y
641# CONFIG_MTD_NAND_PLATFORM is not set
642# CONFIG_MTD_ALAUDA is not set
643# CONFIG_MTD_ONENAND is not set
644
645#
646# LPDDR flash memory drivers
647#
648# CONFIG_MTD_LPDDR is not set
649
650#
651# UBI - Unsorted block images
652#
653CONFIG_MTD_UBI=y
654CONFIG_MTD_UBI_WL_THRESHOLD=4096
655CONFIG_MTD_UBI_BEB_RESERVE=1
656CONFIG_MTD_UBI_GLUEBI=y
657
658#
659# UBI debugging options
660#
661# CONFIG_MTD_UBI_DEBUG is not set
662CONFIG_MTD_UBI_BLOCK=y
663# CONFIG_PARPORT is not set
664CONFIG_BLK_DEV=y
665# CONFIG_BLK_DEV_COW_COMMON is not set
666CONFIG_BLK_DEV_LOOP=y
667# CONFIG_BLK_DEV_CRYPTOLOOP is not set
668
669#
670# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
671#
672# CONFIG_BLK_DEV_NBD is not set
673# CONFIG_BLK_DEV_UB is not set
674CONFIG_BLK_DEV_RAM=y
675CONFIG_BLK_DEV_RAM_COUNT=4
676CONFIG_BLK_DEV_RAM_SIZE=16384
677# CONFIG_BLK_DEV_XIP is not set
678# CONFIG_CDROM_PKTCDVD is not set
679# CONFIG_ATA_OVER_ETH is not set
680# CONFIG_MG_DISK is not set
681CONFIG_MISC_DEVICES=y
682# CONFIG_AD525X_DPOT is not set
683# CONFIG_ICS932S401 is not set
684# CONFIG_ENCLOSURE_SERVICES is not set
685# CONFIG_ISL29003 is not set
686# CONFIG_SENSORS_TSL2550 is not set
687# CONFIG_DS1682 is not set
688# CONFIG_TI_DAC7512 is not set
689CONFIG_MXS_PERSISTENT=y
690# CONFIG_ANDROID_PMEM is not set
691# CONFIG_UID_STAT is not set
692# CONFIG_C2PORT is not set
693
694#
695# EEPROM support
696#
697# CONFIG_EEPROM_AT24 is not set
698# CONFIG_EEPROM_AT25 is not set
699# CONFIG_EEPROM_LEGACY is not set
700# CONFIG_EEPROM_MAX6875 is not set
701# CONFIG_EEPROM_93CX6 is not set
702# CONFIG_IWMC3200TOP is not set
703CONFIG_HAVE_IDE=y
704# CONFIG_IDE is not set
705
706#
707# SCSI device support
708#
709CONFIG_SCSI_MOD=y
710# CONFIG_RAID_ATTRS is not set
711CONFIG_SCSI=y
712CONFIG_SCSI_DMA=y
713# CONFIG_SCSI_TGT is not set
714# CONFIG_SCSI_NETLINK is not set
715CONFIG_SCSI_PROC_FS=y
716
717#
718# SCSI support type (disk, tape, CD-ROM)
719#
720CONFIG_BLK_DEV_SD=y
721# CONFIG_CHR_DEV_ST is not set
722# CONFIG_CHR_DEV_OSST is not set
723# CONFIG_BLK_DEV_SR is not set
724# CONFIG_CHR_DEV_SG is not set
725# CONFIG_CHR_DEV_SCH is not set
726# CONFIG_SCSI_MULTI_LUN is not set
727# CONFIG_SCSI_CONSTANTS is not set
728# CONFIG_SCSI_LOGGING is not set
729# CONFIG_SCSI_SCAN_ASYNC is not set
730CONFIG_SCSI_WAIT_SCAN=m
731
732#
733# SCSI Transports
734#
735# CONFIG_SCSI_SPI_ATTRS is not set
736# CONFIG_SCSI_FC_ATTRS is not set
737# CONFIG_SCSI_ISCSI_ATTRS is not set
738# CONFIG_SCSI_SAS_LIBSAS is not set
739# CONFIG_SCSI_SRP_ATTRS is not set
740# CONFIG_SCSI_LOWLEVEL is not set
741# CONFIG_SCSI_DH is not set
742# CONFIG_SCSI_OSD_INITIATOR is not set
743# CONFIG_ATA is not set
744# CONFIG_MD is not set
745CONFIG_NETDEVICES=y
746# CONFIG_DUMMY is not set
747# CONFIG_BONDING is not set
748# CONFIG_MACVLAN is not set
749# CONFIG_EQUALIZER is not set
750# CONFIG_TUN is not set
751# CONFIG_VETH is not set
752# CONFIG_PHYLIB is not set
753CONFIG_NET_ETHERNET=y
754# CONFIG_MII is not set
755# CONFIG_AX88796 is not set
756# CONFIG_SMC91X is not set
757# CONFIG_DM9000 is not set
758CONFIG_ENC28J60=y
759# CONFIG_ENC28J60_WRITEVERIFY is not set
760# CONFIG_ETHOC is not set
761# CONFIG_SMC911X is not set
762# CONFIG_SMSC911X is not set
763# CONFIG_DNET is not set
764# CONFIG_IBM_NEW_EMAC_ZMII is not set
765# CONFIG_IBM_NEW_EMAC_RGMII is not set
766# CONFIG_IBM_NEW_EMAC_TAH is not set
767# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
768# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
769# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
770# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
771# CONFIG_B44 is not set
772# CONFIG_KS8842 is not set
773# CONFIG_KS8851 is not set
774# CONFIG_KS8851_MLL is not set
775CONFIG_NETDEV_1000=y
776CONFIG_NETDEV_10000=y
777CONFIG_WLAN=y
778# CONFIG_USB_ZD1201 is not set
779# CONFIG_HOSTAP is not set
780# CONFIG_ATH6K_LEGACY is not set
781
782#
783# Enable WiMAX (Networking options) to see the WiMAX drivers
784#
785
786#
787# USB Network Adapters
788#
789# CONFIG_USB_CATC is not set
790# CONFIG_USB_KAWETH is not set
791# CONFIG_USB_PEGASUS is not set
792# CONFIG_USB_RTL8150 is not set
793# CONFIG_USB_USBNET is not set
794# CONFIG_USB_HSO is not set
795# CONFIG_USB_IPHETH is not set
796# CONFIG_WAN is not set
797# CONFIG_PPP is not set
798# CONFIG_SLIP is not set
799# CONFIG_NETCONSOLE is not set
800# CONFIG_NETPOLL is not set
801# CONFIG_NET_POLL_CONTROLLER is not set
802# CONFIG_ISDN is not set
803# CONFIG_PHONE is not set
804
805#
806# Input device support
807#
808CONFIG_INPUT=y
809# CONFIG_INPUT_FF_MEMLESS is not set
810CONFIG_INPUT_POLLDEV=y
811# CONFIG_INPUT_SPARSEKMAP is not set
812
813#
814# Userland interfaces
815#
816CONFIG_INPUT_MOUSEDEV=y
817CONFIG_INPUT_MOUSEDEV_PSAUX=y
818CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
819CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
820# CONFIG_INPUT_JOYDEV is not set
821CONFIG_INPUT_EVDEV=y
822# CONFIG_INPUT_EVBUG is not set
823
824#
825# Input Device Drivers
826#
827CONFIG_INPUT_KEYBOARD=y
828# CONFIG_KEYBOARD_ADP5588 is not set
829# CONFIG_KEYBOARD_ATKBD is not set
830# CONFIG_KEYBOARD_QT2160 is not set
831# CONFIG_KEYBOARD_LKKBD is not set
832# CONFIG_KEYBOARD_GPIO is not set
833# CONFIG_KEYBOARD_TCA6416 is not set
834# CONFIG_KEYBOARD_MATRIX is not set
835# CONFIG_KEYBOARD_MAX7359 is not set
836# CONFIG_KEYBOARD_NEWTON is not set
837# CONFIG_KEYBOARD_OPENCORES is not set
838# CONFIG_KEYBOARD_STOWAWAY is not set
839# CONFIG_KEYBOARD_SUNKBD is not set
840# CONFIG_KEYBOARD_XTKBD is not set
841CONFIG_KEYBOARD_MXS=y
842# CONFIG_INPUT_MOUSE is not set
843# CONFIG_INPUT_JOYSTICK is not set
844# CONFIG_INPUT_TABLET is not set
845CONFIG_INPUT_TOUCHSCREEN=y
846# CONFIG_TOUCHSCREEN_ADS7846 is not set
847# CONFIG_TOUCHSCREEN_AD7877 is not set
848# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
849# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
850# CONFIG_TOUCHSCREEN_AD7879 is not set
851# CONFIG_TOUCHSCREEN_DYNAPRO is not set
852# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
853# CONFIG_TOUCHSCREEN_EETI is not set
854# CONFIG_TOUCHSCREEN_FUJITSU is not set
855# CONFIG_TOUCHSCREEN_GUNZE is not set
856# CONFIG_TOUCHSCREEN_ELO is not set
857# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
858# CONFIG_TOUCHSCREEN_MCS5000 is not set
859# CONFIG_TOUCHSCREEN_MTOUCH is not set
860# CONFIG_TOUCHSCREEN_INEXIO is not set
861# CONFIG_TOUCHSCREEN_MK712 is not set
862CONFIG_TOUCHSCREEN_MXS=y
863# CONFIG_TOUCHSCREEN_PENMOUNT is not set
864# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
865# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
866# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
867# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
868# CONFIG_TOUCHSCREEN_TSC2007 is not set
869# CONFIG_TOUCHSCREEN_W90X900 is not set
870# CONFIG_TOUCHSCREEN_TPS6507X is not set
871CONFIG_INPUT_MISC=y
872# CONFIG_INPUT_AD714X is not set
873# CONFIG_INPUT_ATI_REMOTE is not set
874# CONFIG_INPUT_ATI_REMOTE2 is not set
875# CONFIG_INPUT_KEYSPAN_REMOTE is not set
876# CONFIG_INPUT_POWERMATE is not set
877# CONFIG_INPUT_YEALINK is not set
878# CONFIG_INPUT_CM109 is not set
879# CONFIG_INPUT_UINPUT is not set
880# CONFIG_INPUT_PCF8574 is not set
881# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
882
883#
884# Hardware I/O ports
885#
886CONFIG_SERIO=y
887CONFIG_SERIO_SERPORT=y
888# CONFIG_SERIO_LIBPS2 is not set
889# CONFIG_SERIO_RAW is not set
890# CONFIG_SERIO_ALTERA_PS2 is not set
891# CONFIG_GAMEPORT is not set
892
893#
894# Character devices
895#
896CONFIG_VT=y
897CONFIG_CONSOLE_TRANSLATIONS=y
898CONFIG_VT_CONSOLE=y
899CONFIG_HW_CONSOLE=y
900# CONFIG_VT_HW_CONSOLE_BINDING is not set
901CONFIG_DEVKMEM=y
902# CONFIG_SERIAL_NONSTANDARD is not set
903# CONFIG_N_GSM is not set
904CONFIG_MXS_VIIM=y
905
906#
907# Serial drivers
908#
909# CONFIG_SERIAL_8250 is not set
910
911#
912# Non-8250 serial port support
913#
914CONFIG_SERIAL_MXS_DUART=y
915CONFIG_SERIAL_MXS_AUART=y
916# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
917CONFIG_SERIAL_MXS_DUART_CONSOLE=y
918# CONFIG_SERIAL_MAX3100 is not set
919CONFIG_SERIAL_CORE=y
920CONFIG_SERIAL_CORE_CONSOLE=y
921# CONFIG_SERIAL_TIMBERDALE is not set
922# CONFIG_SERIAL_ALTERA_JTAGUART is not set
923# CONFIG_SERIAL_ALTERA_UART is not set
924CONFIG_UNIX98_PTYS=y
925# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
926# CONFIG_LEGACY_PTYS is not set
927# CONFIG_FSL_OTP is not set
928# CONFIG_IPMI_HANDLER is not set
929CONFIG_HW_RANDOM=y
930# CONFIG_HW_RANDOM_TIMERIOMEM is not set
931# CONFIG_R3964 is not set
932# CONFIG_RAW_DRIVER is not set
933# CONFIG_TCG_TPM is not set
934# CONFIG_RAMOOPS is not set
935CONFIG_I2C=y
936CONFIG_I2C_BOARDINFO=y
937CONFIG_I2C_COMPAT=y
938CONFIG_I2C_CHARDEV=y
939CONFIG_I2C_HELPER_AUTO=y
940
941#
942# I2C Hardware Bus support
943#
944
945#
946# I2C system bus drivers (mostly embedded / system-on-chip)
947#
948# CONFIG_I2C_DESIGNWARE is not set
949# CONFIG_I2C_GPIO is not set
950CONFIG_I2C_MXS=y
951CONFIG_I2C_MXS_SELECT0=y
952# CONFIG_I2C_OCORES is not set
953# CONFIG_I2C_PCA_PLATFORM is not set
954# CONFIG_I2C_SIMTEC is not set
955# CONFIG_I2C_XILINX is not set
956
957#
958# External I2C/SMBus adapter drivers
959#
960# CONFIG_I2C_PARPORT_LIGHT is not set
961# CONFIG_I2C_TAOS_EVM is not set
962# CONFIG_I2C_TINY_USB is not set
963
964#
965# Other I2C/SMBus bus drivers
966#
967# CONFIG_I2C_STUB is not set
968# CONFIG_I2C_DEBUG_CORE is not set
969# CONFIG_I2C_DEBUG_ALGO is not set
970# CONFIG_I2C_DEBUG_BUS is not set
971CONFIG_SPI=y
972# CONFIG_SPI_DEBUG is not set
973CONFIG_SPI_MASTER=y
974
975#
976# SPI Master Controller Drivers
977#
978# CONFIG_SPI_BITBANG is not set
979# CONFIG_SPI_GPIO is not set
980# CONFIG_SPI_XILINX is not set
981CONFIG_SPI_MXS=y
982# CONFIG_SPI_DESIGNWARE is not set
983
984#
985# SPI Protocol Masters
986#
987# CONFIG_SPI_SPIDEV is not set
988# CONFIG_SPI_TLE62X0 is not set
989
990#
991# PPS support
992#
993# CONFIG_PPS is not set
994CONFIG_ARCH_REQUIRE_GPIOLIB=y
995CONFIG_GPIOLIB=y
996# CONFIG_DEBUG_GPIO is not set
997# CONFIG_GPIO_SYSFS is not set
998
999#
1000# Memory mapped GPIO expanders:
1001#
1002# CONFIG_GPIO_IT8761E is not set
1003
1004#
1005# I2C GPIO expanders:
1006#
1007# CONFIG_GPIO_MAX7300 is not set
1008# CONFIG_GPIO_MAX732X is not set
1009# CONFIG_GPIO_PCA953X is not set
1010# CONFIG_GPIO_PCF857X is not set
1011# CONFIG_GPIO_ADP5588 is not set
1012
1013#
1014# PCI GPIO expanders:
1015#
1016
1017#
1018# SPI GPIO expanders:
1019#
1020# CONFIG_GPIO_MAX7301 is not set
1021# CONFIG_GPIO_MCP23S08 is not set
1022# CONFIG_GPIO_MC33880 is not set
1023
1024#
1025# AC97 GPIO expanders:
1026#
1027
1028#
1029# MODULbus GPIO expanders:
1030#
1031# CONFIG_W1 is not set
1032CONFIG_POWER_SUPPLY=y
1033# CONFIG_POWER_SUPPLY_DEBUG is not set
1034# CONFIG_PDA_POWER is not set
1035# CONFIG_TEST_POWER is not set
1036# CONFIG_BATTERY_DS2760 is not set
1037# CONFIG_BATTERY_DS2782 is not set
1038# CONFIG_BATTERY_BQ27x00 is not set
1039# CONFIG_BATTERY_MAX17040 is not set
1040CONFIG_BATTERY_MXS=y
1041# CONFIG_MXS_VBUS_CURRENT_DRAW is not set
1042# CONFIG_BATTERY_DS2438 is not set
1043CONFIG_HWMON=y
1044# CONFIG_HWMON_VID is not set
1045# CONFIG_HWMON_DEBUG_CHIP is not set
1046
1047#
1048# Native drivers
1049#
1050# CONFIG_SENSORS_AD7414 is not set
1051# CONFIG_SENSORS_AD7418 is not set
1052# CONFIG_SENSORS_ADCXX is not set
1053# CONFIG_SENSORS_ADM1021 is not set
1054# CONFIG_SENSORS_ADM1025 is not set
1055# CONFIG_SENSORS_ADM1026 is not set
1056# CONFIG_SENSORS_ADM1029 is not set
1057# CONFIG_SENSORS_ADM1031 is not set
1058# CONFIG_SENSORS_ADM9240 is not set
1059# CONFIG_SENSORS_ADT7411 is not set
1060# CONFIG_SENSORS_ADT7462 is not set
1061# CONFIG_SENSORS_ADT7470 is not set
1062# CONFIG_SENSORS_ADT7475 is not set
1063# CONFIG_SENSORS_ASC7621 is not set
1064# CONFIG_SENSORS_ATXP1 is not set
1065# CONFIG_SENSORS_DS1621 is not set
1066# CONFIG_SENSORS_F71805F is not set
1067# CONFIG_SENSORS_F71882FG is not set
1068# CONFIG_SENSORS_F75375S is not set
1069# CONFIG_SENSORS_G760A is not set
1070# CONFIG_SENSORS_GL518SM is not set
1071# CONFIG_SENSORS_GL520SM is not set
1072# CONFIG_SENSORS_IT87 is not set
1073# CONFIG_SENSORS_LM63 is not set
1074# CONFIG_SENSORS_LM70 is not set
1075# CONFIG_SENSORS_LM73 is not set
1076# CONFIG_SENSORS_LM75 is not set
1077# CONFIG_SENSORS_LM77 is not set
1078# CONFIG_SENSORS_LM78 is not set
1079# CONFIG_SENSORS_LM80 is not set
1080# CONFIG_SENSORS_LM83 is not set
1081# CONFIG_SENSORS_LM85 is not set
1082# CONFIG_SENSORS_LM87 is not set
1083# CONFIG_SENSORS_LM90 is not set
1084# CONFIG_SENSORS_LM92 is not set
1085# CONFIG_SENSORS_LM93 is not set
1086# CONFIG_SENSORS_LTC4215 is not set
1087# CONFIG_SENSORS_LTC4245 is not set
1088# CONFIG_SENSORS_LM95241 is not set
1089# CONFIG_SENSORS_MAX1111 is not set
1090# CONFIG_SENSORS_MAX1619 is not set
1091# CONFIG_SENSORS_MAX17135 is not set
1092# CONFIG_SENSORS_MAX6650 is not set
1093# CONFIG_SENSORS_PC87360 is not set
1094# CONFIG_SENSORS_PC87427 is not set
1095# CONFIG_SENSORS_PCF8591 is not set
1096# CONFIG_SENSORS_SHT15 is not set
1097# CONFIG_SENSORS_DME1737 is not set
1098# CONFIG_SENSORS_EMC1403 is not set
1099# CONFIG_SENSORS_SMSC47M1 is not set
1100# CONFIG_SENSORS_SMSC47M192 is not set
1101# CONFIG_SENSORS_SMSC47B397 is not set
1102# CONFIG_SENSORS_ADS7828 is not set
1103# CONFIG_SENSORS_ADS7871 is not set
1104# CONFIG_SENSORS_AMC6821 is not set
1105# CONFIG_SENSORS_THMC50 is not set
1106# CONFIG_SENSORS_TMP102 is not set
1107# CONFIG_SENSORS_TMP401 is not set
1108# CONFIG_SENSORS_TMP421 is not set
1109# CONFIG_SENSORS_VT1211 is not set
1110# CONFIG_SENSORS_W83781D is not set
1111# CONFIG_SENSORS_W83791D is not set
1112# CONFIG_SENSORS_W83792D is not set
1113# CONFIG_SENSORS_W83793 is not set
1114# CONFIG_SENSORS_W83L785TS is not set
1115# CONFIG_SENSORS_W83L786NG is not set
1116# CONFIG_SENSORS_W83627HF is not set
1117# CONFIG_SENSORS_W83627EHF is not set
1118# CONFIG_SENSORS_LIS3_SPI is not set
1119# CONFIG_SENSORS_LIS3_I2C is not set
1120CONFIG_MXC_MMA7450=m
1121# CONFIG_THERMAL is not set
1122CONFIG_WATCHDOG=y
1123# CONFIG_WATCHDOG_NOWAYOUT is not set
1124
1125#
1126# Watchdog Device Drivers
1127#
1128# CONFIG_SOFT_WATCHDOG is not set
1129CONFIG_MXS_WATCHDOG=y
1130# CONFIG_MAX63XX_WATCHDOG is not set
1131
1132#
1133# USB-based Watchdog Cards
1134#
1135# CONFIG_USBPCWATCHDOG is not set
1136CONFIG_SSB_POSSIBLE=y
1137
1138#
1139# Sonics Silicon Backplane
1140#
1141# CONFIG_SSB is not set
1142CONFIG_MFD_SUPPORT=y
1143# CONFIG_MFD_CORE is not set
1144# CONFIG_MFD_88PM860X is not set
1145# CONFIG_MFD_SM501 is not set
1146# CONFIG_MFD_ASIC3 is not set
1147# CONFIG_HTC_EGPIO is not set
1148# CONFIG_HTC_PASIC3 is not set
1149# CONFIG_HTC_I2CPLD is not set
1150# CONFIG_TPS65010 is not set
1151# CONFIG_TPS6507X is not set
1152# CONFIG_TWL4030_CORE is not set
1153# CONFIG_MFD_TC35892 is not set
1154# CONFIG_MFD_TMIO is not set
1155# CONFIG_MFD_T7L66XB is not set
1156# CONFIG_MFD_TC6387XB is not set
1157# CONFIG_MFD_TC6393XB is not set
1158# CONFIG_PMIC_DA903X is not set
1159# CONFIG_PMIC_ADP5520 is not set
1160# CONFIG_MFD_MAX8925 is not set
1161# CONFIG_MFD_WM8400 is not set
1162# CONFIG_MFD_WM831X is not set
1163# CONFIG_MFD_WM8350_I2C is not set
1164# CONFIG_MFD_WM8994 is not set
1165# CONFIG_MFD_LTC3589_I2C is not set
1166# CONFIG_MFD_PCF50633 is not set
1167# CONFIG_MFD_MC13783 is not set
1168# CONFIG_ABX500_CORE is not set
1169# CONFIG_EZX_PCAP is not set
1170# CONFIG_AB8500_CORE is not set
1171# CONFIG_MFD_MAX17135 is not set
1172CONFIG_REGULATOR=y
1173# CONFIG_REGULATOR_DEBUG is not set
1174# CONFIG_REGULATOR_DUMMY is not set
1175# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1176# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1177# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1178# CONFIG_REGULATOR_BQ24022 is not set
1179# CONFIG_REGULATOR_MAX1586 is not set
1180# CONFIG_REGULATOR_MAX8649 is not set
1181# CONFIG_REGULATOR_MAX8660 is not set
1182# CONFIG_REGULATOR_LP3971 is not set
1183# CONFIG_REGULATOR_TPS65023 is not set
1184# CONFIG_REGULATOR_TPS6507X is not set
1185CONFIG_REGULATOR_MXS=y
1186CONFIG_MEDIA_SUPPORT=y
1187
1188#
1189# Multimedia core support
1190#
1191CONFIG_VIDEO_DEV=y
1192CONFIG_VIDEO_V4L2_COMMON=y
1193CONFIG_VIDEO_ALLOW_V4L1=y
1194CONFIG_VIDEO_V4L1_COMPAT=y
1195# CONFIG_DVB_CORE is not set
1196CONFIG_VIDEO_MEDIA=y
1197
1198#
1199# Multimedia drivers
1200#
1201CONFIG_IR_CORE=y
1202CONFIG_VIDEO_IR=y
1203CONFIG_RC_MAP=y
1204CONFIG_IR_NEC_DECODER=y
1205CONFIG_IR_RC5_DECODER=y
1206CONFIG_IR_RC6_DECODER=y
1207CONFIG_IR_JVC_DECODER=y
1208CONFIG_IR_SONY_DECODER=y
1209# CONFIG_IR_IMON is not set
1210# CONFIG_MEDIA_ATTACH is not set
1211CONFIG_MEDIA_TUNER=y
1212# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
1213CONFIG_MEDIA_TUNER_SIMPLE=y
1214CONFIG_MEDIA_TUNER_TDA8290=y
1215CONFIG_MEDIA_TUNER_TDA9887=y
1216CONFIG_MEDIA_TUNER_TEA5761=y
1217CONFIG_MEDIA_TUNER_TEA5767=y
1218CONFIG_MEDIA_TUNER_MT20XX=y
1219CONFIG_MEDIA_TUNER_XC2028=y
1220CONFIG_MEDIA_TUNER_XC5000=y
1221CONFIG_MEDIA_TUNER_MC44S803=y
1222CONFIG_VIDEO_V4L2=y
1223CONFIG_VIDEO_V4L1=y
1224CONFIG_VIDEOBUF_GEN=y
1225CONFIG_VIDEOBUF_DMA_CONTIG=y
1226CONFIG_VIDEO_CAPTURE_DRIVERS=y
1227# CONFIG_VIDEO_ADV_DEBUG is not set
1228# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1229CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
1230CONFIG_VIDEO_IR_I2C=y
1231CONFIG_VIDEO_MXS_PXP=y
1232# CONFIG_VIDEO_CPIA is not set
1233# CONFIG_VIDEO_CPIA2 is not set
1234# CONFIG_VIDEO_SAA5246A is not set
1235# CONFIG_VIDEO_SAA5249 is not set
1236# CONFIG_SOC_CAMERA is not set
1237CONFIG_V4L_USB_DRIVERS=y
1238# CONFIG_USB_VIDEO_CLASS is not set
1239CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
1240CONFIG_USB_GSPCA=m
1241# CONFIG_USB_M5602 is not set
1242# CONFIG_USB_STV06XX is not set
1243# CONFIG_USB_GL860 is not set
1244# CONFIG_USB_GSPCA_BENQ is not set
1245# CONFIG_USB_GSPCA_CONEX is not set
1246# CONFIG_USB_GSPCA_CPIA1 is not set
1247# CONFIG_USB_GSPCA_ETOMS is not set
1248# CONFIG_USB_GSPCA_FINEPIX is not set
1249# CONFIG_USB_GSPCA_JEILINJ is not set
1250# CONFIG_USB_GSPCA_MARS is not set
1251# CONFIG_USB_GSPCA_MR97310A is not set
1252# CONFIG_USB_GSPCA_OV519 is not set
1253# CONFIG_USB_GSPCA_OV534 is not set
1254# CONFIG_USB_GSPCA_OV534_9 is not set
1255# CONFIG_USB_GSPCA_PAC207 is not set
1256# CONFIG_USB_GSPCA_PAC7302 is not set
1257# CONFIG_USB_GSPCA_PAC7311 is not set
1258# CONFIG_USB_GSPCA_SN9C2028 is not set
1259# CONFIG_USB_GSPCA_SN9C20X is not set
1260# CONFIG_USB_GSPCA_SONIXB is not set
1261# CONFIG_USB_GSPCA_SONIXJ is not set
1262# CONFIG_USB_GSPCA_SPCA500 is not set
1263# CONFIG_USB_GSPCA_SPCA501 is not set
1264# CONFIG_USB_GSPCA_SPCA505 is not set
1265# CONFIG_USB_GSPCA_SPCA506 is not set
1266# CONFIG_USB_GSPCA_SPCA508 is not set
1267# CONFIG_USB_GSPCA_SPCA561 is not set
1268# CONFIG_USB_GSPCA_SQ905 is not set
1269# CONFIG_USB_GSPCA_SQ905C is not set
1270# CONFIG_USB_GSPCA_STK014 is not set
1271# CONFIG_USB_GSPCA_STV0680 is not set
1272# CONFIG_USB_GSPCA_SUNPLUS is not set
1273# CONFIG_USB_GSPCA_T613 is not set
1274# CONFIG_USB_GSPCA_TV8532 is not set
1275# CONFIG_USB_GSPCA_VC032X is not set
1276# CONFIG_USB_GSPCA_ZC3XX is not set
1277# CONFIG_VIDEO_PVRUSB2 is not set
1278# CONFIG_VIDEO_HDPVR is not set
1279# CONFIG_VIDEO_EM28XX is not set
1280# CONFIG_VIDEO_CX231XX is not set
1281# CONFIG_VIDEO_USBVISION is not set
1282# CONFIG_USB_VICAM is not set
1283# CONFIG_USB_IBMCAM is not set
1284# CONFIG_USB_KONICAWC is not set
1285# CONFIG_USB_QUICKCAM_MESSENGER is not set
1286# CONFIG_USB_ET61X251 is not set
1287# CONFIG_VIDEO_OVCAMCHIP is not set
1288# CONFIG_USB_OV511 is not set
1289# CONFIG_USB_SE401 is not set
1290# CONFIG_USB_SN9C102 is not set
1291# CONFIG_USB_STV680 is not set
1292# CONFIG_USB_ZC0301 is not set
1293# CONFIG_USB_PWC is not set
1294# CONFIG_USB_ZR364XX is not set
1295# CONFIG_USB_STKWEBCAM is not set
1296# CONFIG_USB_S2255 is not set
1297# CONFIG_V4L_MEM2MEM_DRIVERS is not set
1298CONFIG_RADIO_ADAPTERS=y
1299# CONFIG_I2C_SI4713 is not set
1300# CONFIG_RADIO_SI4713 is not set
1301# CONFIG_USB_DSBR is not set
1302# CONFIG_RADIO_SI470X is not set
1303# CONFIG_USB_MR800 is not set
1304# CONFIG_RADIO_TEA5764 is not set
1305# CONFIG_RADIO_SAA7706H is not set
1306# CONFIG_RADIO_TEF6862 is not set
1307# CONFIG_DAB is not set
1308
1309#
1310# Graphics support
1311#
1312# CONFIG_VGASTATE is not set
1313# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1314CONFIG_FB=y
1315# CONFIG_FIRMWARE_EDID is not set
1316# CONFIG_FB_DDC is not set
1317# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1318CONFIG_FB_CFB_FILLRECT=y
1319CONFIG_FB_CFB_COPYAREA=y
1320CONFIG_FB_CFB_IMAGEBLIT=y
1321# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1322# CONFIG_FB_SYS_FILLRECT is not set
1323# CONFIG_FB_SYS_COPYAREA is not set
1324# CONFIG_FB_SYS_IMAGEBLIT is not set
1325# CONFIG_FB_FOREIGN_ENDIAN is not set
1326# CONFIG_FB_SYS_FOPS is not set
1327# CONFIG_FB_SVGALIB is not set
1328# CONFIG_FB_MACMODES is not set
1329# CONFIG_FB_BACKLIGHT is not set
1330# CONFIG_FB_MODE_HELPERS is not set
1331# CONFIG_FB_TILEBLITTING is not set
1332
1333#
1334# Frame buffer hardware drivers
1335#
1336CONFIG_FB_MXS=y
1337# CONFIG_FB_MXS_LCD_43WVF1G is not set
1338CONFIG_FB_MXS_LCD_LMS430=y
1339# CONFIG_FB_MXS_TVENC is not set
1340# CONFIG_FB_S1D13XXX is not set
1341# CONFIG_FB_VIRTUAL is not set
1342# CONFIG_FB_METRONOME is not set
1343# CONFIG_FB_MB862XX is not set
1344# CONFIG_FB_BROADSHEET is not set
1345CONFIG_BACKLIGHT_LCD_SUPPORT=y
1346# CONFIG_LCD_CLASS_DEVICE is not set
1347CONFIG_BACKLIGHT_CLASS_DEVICE=y
1348# CONFIG_BACKLIGHT_GENERIC is not set
1349# CONFIG_BACKLIGHT_ADP8860 is not set
1350CONFIG_BACKLIGHT_MXS=y
1351
1352#
1353# Display device support
1354#
1355# CONFIG_DISPLAY_SUPPORT is not set
1356
1357#
1358# Console display driver support
1359#
1360# CONFIG_VGA_CONSOLE is not set
1361CONFIG_DUMMY_CONSOLE=y
1362CONFIG_FRAMEBUFFER_CONSOLE=y
1363# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1364# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1365# CONFIG_FONTS is not set
1366CONFIG_FONT_8x8=y
1367CONFIG_FONT_8x16=y
1368CONFIG_LOGO=y
1369# CONFIG_LOGO_LINUX_MONO is not set
1370# CONFIG_LOGO_LINUX_VGA16 is not set
1371CONFIG_LOGO_LINUX_CLUT224=y
1372CONFIG_SOUND=y
1373# CONFIG_SOUND_OSS_CORE is not set
1374CONFIG_SND=y
1375CONFIG_SND_TIMER=y
1376CONFIG_SND_PCM=y
1377CONFIG_SND_JACK=y
1378# CONFIG_SND_SEQUENCER is not set
1379# CONFIG_SND_MIXER_OSS is not set
1380# CONFIG_SND_PCM_OSS is not set
1381# CONFIG_SND_HRTIMER is not set
1382# CONFIG_SND_DYNAMIC_MINORS is not set
1383CONFIG_SND_SUPPORT_OLD_API=y
1384CONFIG_SND_VERBOSE_PROCFS=y
1385# CONFIG_SND_VERBOSE_PRINTK is not set
1386# CONFIG_SND_DEBUG is not set
1387# CONFIG_SND_RAWMIDI_SEQ is not set
1388# CONFIG_SND_OPL3_LIB_SEQ is not set
1389# CONFIG_SND_OPL4_LIB_SEQ is not set
1390# CONFIG_SND_SBAWE_SEQ is not set
1391# CONFIG_SND_EMU10K1_SEQ is not set
1392# CONFIG_SND_DRIVERS is not set
1393# CONFIG_SND_ARM is not set
1394CONFIG_SND_SPI=y
1395# CONFIG_SND_USB is not set
1396CONFIG_SND_SOC=y
1397CONFIG_SND_MXS_SOC=y
1398CONFIG_SND_MXS_SOC_EVK_ADC=y
1399CONFIG_SND_MXS_SOC_ADC=y
1400# CONFIG_SND_MXS_SOC_EVK_DEVB_SPDIF is not set
1401CONFIG_SND_SOC_I2C_AND_SPI=y
1402# CONFIG_SND_SOC_ALL_CODECS is not set
1403CONFIG_SND_SOC_MXS_ADC_CODEC=y
1404# CONFIG_SOUND_PRIME is not set
1405# CONFIG_HID_SUPPORT is not set
1406CONFIG_USB_SUPPORT=y
1407CONFIG_USB_ARCH_HAS_HCD=y
1408# CONFIG_USB_ARCH_HAS_OHCI is not set
1409CONFIG_USB_ARCH_HAS_EHCI=y
1410CONFIG_USB=y
1411# CONFIG_USB_DEBUG is not set
1412# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1413
1414#
1415# Miscellaneous USB options
1416#
1417# CONFIG_USB_DEVICEFS is not set
1418CONFIG_USB_DEVICE_CLASS=y
1419# CONFIG_USB_DYNAMIC_MINORS is not set
1420# CONFIG_USB_OTG is not set
1421# CONFIG_USB_OTG_WHITELIST is not set
1422# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1423CONFIG_USB_MON=y
1424# CONFIG_USB_WUSB is not set
1425# CONFIG_USB_WUSB_CBAF is not set
1426
1427#
1428# USB Host Controller Drivers
1429#
1430# CONFIG_USB_C67X00_HCD is not set
1431CONFIG_USB_EHCI_HCD=y
1432CONFIG_USB_EHCI_ARC=y
1433CONFIG_USB_EHCI_ARC_OTG=y
1434# CONFIG_USB_STATIC_IRAM is not set
1435# CONFIG_USB_EHCI_FSL_MC13783 is not set
1436# CONFIG_USB_EHCI_FSL_1301 is not set
1437# CONFIG_USB_EHCI_FSL_1504 is not set
1438CONFIG_USB_EHCI_FSL_UTMI=y
1439CONFIG_USB_EHCI_ROOT_HUB_TT=y
1440# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1441# CONFIG_USB_OXU210HP_HCD is not set
1442# CONFIG_USB_ISP116X_HCD is not set
1443# CONFIG_USB_ISP1760_HCD is not set
1444# CONFIG_USB_ISP1362_HCD is not set
1445# CONFIG_USB_SL811_HCD is not set
1446# CONFIG_USB_R8A66597_HCD is not set
1447# CONFIG_USB_HWA_HCD is not set
1448# CONFIG_USB_MUSB_HDRC is not set
1449# CONFIG_USB_GADGET_MUSB_HDRC is not set
1450
1451#
1452# USB Device Class drivers
1453#
1454# CONFIG_USB_ACM is not set
1455# CONFIG_USB_PRINTER is not set
1456# CONFIG_USB_WDM is not set
1457# CONFIG_USB_TMC is not set
1458
1459#
1460# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1461#
1462
1463#
1464# also be needed; see USB_STORAGE Help for more info
1465#
1466CONFIG_USB_STORAGE=y
1467# CONFIG_USB_STORAGE_DEBUG is not set
1468# CONFIG_USB_STORAGE_DATAFAB is not set
1469# CONFIG_USB_STORAGE_FREECOM is not set
1470# CONFIG_USB_STORAGE_ISD200 is not set
1471# CONFIG_USB_STORAGE_USBAT is not set
1472# CONFIG_USB_STORAGE_SDDR09 is not set
1473# CONFIG_USB_STORAGE_SDDR55 is not set
1474# CONFIG_USB_STORAGE_JUMPSHOT is not set
1475# CONFIG_USB_STORAGE_ALAUDA is not set
1476# CONFIG_USB_STORAGE_ONETOUCH is not set
1477# CONFIG_USB_STORAGE_KARMA is not set
1478# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1479# CONFIG_USB_LIBUSUAL is not set
1480
1481#
1482# USB Imaging devices
1483#
1484# CONFIG_USB_MDC800 is not set
1485# CONFIG_USB_MICROTEK is not set
1486
1487#
1488# USB port drivers
1489#
1490# CONFIG_USB_SERIAL is not set
1491
1492#
1493# USB Miscellaneous drivers
1494#
1495# CONFIG_USB_EMI62 is not set
1496# CONFIG_USB_EMI26 is not set
1497# CONFIG_USB_ADUTUX is not set
1498# CONFIG_USB_SEVSEG is not set
1499# CONFIG_USB_RIO500 is not set
1500# CONFIG_USB_LEGOTOWER is not set
1501# CONFIG_USB_LCD is not set
1502# CONFIG_USB_LED is not set
1503# CONFIG_USB_CYPRESS_CY7C63 is not set
1504# CONFIG_USB_CYTHERM is not set
1505# CONFIG_USB_IDMOUSE is not set
1506# CONFIG_USB_FTDI_ELAN is not set
1507# CONFIG_USB_APPLEDISPLAY is not set
1508# CONFIG_USB_SISUSBVGA is not set
1509# CONFIG_USB_LD is not set
1510# CONFIG_USB_TRANCEVIBRATOR is not set
1511# CONFIG_USB_IOWARRIOR is not set
1512# CONFIG_USB_TEST is not set
1513# CONFIG_USB_ISIGHTFW is not set
1514CONFIG_USB_GADGET=y
1515# CONFIG_USB_GADGET_DEBUG is not set
1516# CONFIG_USB_GADGET_DEBUG_FILES is not set
1517CONFIG_USB_GADGET_VBUS_DRAW=2
1518CONFIG_USB_GADGET_SELECTED=y
1519# CONFIG_USB_GADGET_AT91 is not set
1520# CONFIG_USB_GADGET_ATMEL_USBA is not set
1521# CONFIG_USB_GADGET_FSL_USB2 is not set
1522# CONFIG_USB_GADGET_LH7A40X is not set
1523# CONFIG_USB_GADGET_OMAP is not set
1524# CONFIG_USB_GADGET_PXA25X is not set
1525# CONFIG_USB_GADGET_R8A66597 is not set
1526# CONFIG_USB_GADGET_PXA27X is not set
1527# CONFIG_USB_GADGET_S3C_HSOTG is not set
1528# CONFIG_USB_GADGET_IMX is not set
1529# CONFIG_USB_GADGET_S3C2410 is not set
1530# CONFIG_USB_GADGET_M66592 is not set
1531# CONFIG_USB_GADGET_AMD5536UDC is not set
1532# CONFIG_USB_GADGET_FSL_QE is not set
1533# CONFIG_USB_GADGET_CI13XXX is not set
1534# CONFIG_USB_GADGET_NET2280 is not set
1535# CONFIG_USB_GADGET_GOKU is not set
1536CONFIG_USB_GADGET_ARC=y
1537CONFIG_USB_ARC=y
1538# CONFIG_USB_GADGET_LANGWELL is not set
1539# CONFIG_USB_GADGET_DUMMY_HCD is not set
1540CONFIG_USB_GADGET_DUALSPEED=y
1541# CONFIG_USB_ZERO is not set
1542# CONFIG_USB_AUDIO is not set
1543CONFIG_USB_ETH=m
1544CONFIG_USB_ETH_RNDIS=y
1545# CONFIG_USB_ETH_EEM is not set
1546# CONFIG_USB_GADGETFS is not set
1547# CONFIG_USB_FUNCTIONFS is not set
1548CONFIG_USB_FILE_STORAGE=m
1549# CONFIG_FSL_UTP is not set
1550# CONFIG_USB_FILE_STORAGE_TEST is not set
1551# CONFIG_USB_MASS_STORAGE is not set
1552CONFIG_USB_G_SERIAL=m
1553# CONFIG_USB_MIDI_GADGET is not set
1554# CONFIG_USB_G_PRINTER is not set
1555CONFIG_USB_CDC_COMPOSITE=m
1556# CONFIG_USB_G_NOKIA is not set
1557# CONFIG_USB_G_MULTI is not set
1558# CONFIG_USB_G_HID is not set
1559# CONFIG_USB_G_WEBCAM is not set
1560
1561#
1562# OTG and related infrastructure
1563#
1564CONFIG_USB_OTG_UTILS=y
1565# CONFIG_USB_GPIO_VBUS is not set
1566# CONFIG_USB_ULPI is not set
1567# CONFIG_NOP_USB_XCEIV is not set
1568# CONFIG_MXC_OTG is not set
1569CONFIG_MMC=y
1570# CONFIG_MMC_DEBUG is not set
1571CONFIG_MMC_UNSAFE_RESUME=y
1572
1573#
1574# MMC/SD/SDIO Card Drivers
1575#
1576CONFIG_MMC_BLOCK=y
1577CONFIG_MMC_BLOCK_BOUNCE=y
1578# CONFIG_SDIO_UART is not set
1579# CONFIG_MMC_TEST is not set
1580
1581#
1582# MMC/SD/SDIO Host Controller Drivers
1583#
1584# CONFIG_MMC_SDHCI is not set
1585# CONFIG_MMC_SPI is not set
1586# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
1587CONFIG_MMC_MXS=y
1588# CONFIG_MEMSTICK is not set
1589# CONFIG_NEW_LEDS is not set
1590# CONFIG_ACCESSIBILITY is not set
1591CONFIG_RTC_LIB=y
1592CONFIG_RTC_CLASS=y
1593CONFIG_RTC_HCTOSYS=y
1594CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1595# CONFIG_RTC_DEBUG is not set
1596
1597#
1598# RTC interfaces
1599#
1600CONFIG_RTC_INTF_SYSFS=y
1601CONFIG_RTC_INTF_PROC=y
1602CONFIG_RTC_INTF_DEV=y
1603# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1604# CONFIG_RTC_DRV_TEST is not set
1605
1606#
1607# I2C RTC drivers
1608#
1609# CONFIG_RTC_DRV_DS1307 is not set
1610# CONFIG_RTC_DRV_DS1374 is not set
1611# CONFIG_RTC_DRV_DS1672 is not set
1612# CONFIG_RTC_DRV_MAX6900 is not set
1613# CONFIG_RTC_DRV_RS5C372 is not set
1614# CONFIG_RTC_DRV_ISL1208 is not set
1615# CONFIG_RTC_DRV_X1205 is not set
1616# CONFIG_RTC_DRV_PCF8563 is not set
1617# CONFIG_RTC_DRV_PCF8583 is not set
1618# CONFIG_RTC_DRV_M41T80 is not set
1619# CONFIG_RTC_DRV_BQ32K is not set
1620# CONFIG_RTC_DRV_S35390A is not set
1621# CONFIG_RTC_DRV_FM3130 is not set
1622# CONFIG_RTC_DRV_RX8581 is not set
1623# CONFIG_RTC_DRV_RX8025 is not set
1624
1625#
1626# SPI RTC drivers
1627#
1628# CONFIG_RTC_DRV_M41T94 is not set
1629# CONFIG_RTC_DRV_DS1305 is not set
1630# CONFIG_RTC_DRV_DS1390 is not set
1631# CONFIG_RTC_DRV_MAX6902 is not set
1632# CONFIG_RTC_DRV_R9701 is not set
1633# CONFIG_RTC_DRV_RS5C348 is not set
1634# CONFIG_RTC_DRV_DS3234 is not set
1635# CONFIG_RTC_DRV_PCF2123 is not set
1636
1637#
1638# Platform RTC drivers
1639#
1640# CONFIG_RTC_DRV_CMOS is not set
1641# CONFIG_RTC_DRV_DS1286 is not set
1642# CONFIG_RTC_DRV_DS1511 is not set
1643# CONFIG_RTC_DRV_DS1553 is not set
1644# CONFIG_RTC_DRV_DS1742 is not set
1645# CONFIG_RTC_DRV_STK17TA8 is not set
1646# CONFIG_RTC_DRV_M48T86 is not set
1647# CONFIG_RTC_DRV_M48T35 is not set
1648# CONFIG_RTC_DRV_M48T59 is not set
1649# CONFIG_RTC_DRV_MSM6242 is not set
1650# CONFIG_RTC_DRV_BQ4802 is not set
1651# CONFIG_RTC_DRV_RP5C01 is not set
1652# CONFIG_RTC_DRV_V3020 is not set
1653
1654#
1655# on-CPU RTC drivers
1656#
1657CONFIG_RTC_DRV_MXS=y
1658# CONFIG_DMADEVICES is not set
1659# CONFIG_AUXDISPLAY is not set
1660# CONFIG_UIO is not set
1661# CONFIG_STAGING is not set
1662
1663#
1664# File systems
1665#
1666# CONFIG_EXT2_FS is not set
1667# CONFIG_EXT3_FS is not set
1668CONFIG_EXT4_FS=y
1669CONFIG_EXT4_USE_FOR_EXT23=y
1670CONFIG_EXT4_FS_XATTR=y
1671# CONFIG_EXT4_FS_POSIX_ACL is not set
1672# CONFIG_EXT4_FS_SECURITY is not set
1673# CONFIG_EXT4_DEBUG is not set
1674CONFIG_JBD2=y
1675CONFIG_FS_MBCACHE=y
1676# CONFIG_REISERFS_FS is not set
1677# CONFIG_JFS_FS is not set
1678# CONFIG_FS_POSIX_ACL is not set
1679# CONFIG_XFS_FS is not set
1680# CONFIG_GFS2_FS is not set
1681# CONFIG_OCFS2_FS is not set
1682# CONFIG_BTRFS_FS is not set
1683# CONFIG_NILFS2_FS is not set
1684CONFIG_FILE_LOCKING=y
1685CONFIG_FSNOTIFY=y
1686CONFIG_DNOTIFY=y
1687CONFIG_INOTIFY=y
1688CONFIG_INOTIFY_USER=y
1689# CONFIG_QUOTA is not set
1690# CONFIG_AUTOFS_FS is not set
1691# CONFIG_AUTOFS4_FS is not set
1692# CONFIG_FUSE_FS is not set
1693
1694#
1695# Caches
1696#
1697# CONFIG_FSCACHE is not set
1698
1699#
1700# CD-ROM/DVD Filesystems
1701#
1702# CONFIG_ISO9660_FS is not set
1703# CONFIG_UDF_FS is not set
1704
1705#
1706# DOS/FAT/NT Filesystems
1707#
1708CONFIG_FAT_FS=y
1709CONFIG_MSDOS_FS=y
1710CONFIG_VFAT_FS=y
1711CONFIG_FAT_DEFAULT_CODEPAGE=437
1712CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1713# CONFIG_NTFS_FS is not set
1714
1715#
1716# Pseudo filesystems
1717#
1718CONFIG_PROC_FS=y
1719CONFIG_PROC_SYSCTL=y
1720CONFIG_PROC_PAGE_MONITOR=y
1721CONFIG_SYSFS=y
1722CONFIG_TMPFS=y
1723# CONFIG_TMPFS_POSIX_ACL is not set
1724# CONFIG_HUGETLB_PAGE is not set
1725# CONFIG_CONFIGFS_FS is not set
1726CONFIG_MISC_FILESYSTEMS=y
1727# CONFIG_ADFS_FS is not set
1728# CONFIG_AFFS_FS is not set
1729# CONFIG_ECRYPT_FS is not set
1730# CONFIG_HFS_FS is not set
1731# CONFIG_HFSPLUS_FS is not set
1732# CONFIG_BEFS_FS is not set
1733# CONFIG_BFS_FS is not set
1734# CONFIG_EFS_FS is not set
1735# CONFIG_JFFS2_FS is not set
1736CONFIG_UBIFS_FS=y
1737# CONFIG_UBIFS_FS_XATTR is not set
1738# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
1739CONFIG_UBIFS_FS_LZO=y
1740CONFIG_UBIFS_FS_ZLIB=y
1741# CONFIG_UBIFS_FS_DEBUG is not set
1742# CONFIG_LOGFS is not set
1743# CONFIG_CRAMFS is not set
1744# CONFIG_SQUASHFS is not set
1745# CONFIG_VXFS_FS is not set
1746# CONFIG_MINIX_FS is not set
1747# CONFIG_OMFS_FS is not set
1748# CONFIG_HPFS_FS is not set
1749# CONFIG_QNX4FS_FS is not set
1750# CONFIG_ROMFS_FS is not set
1751# CONFIG_SYSV_FS is not set
1752# CONFIG_UFS_FS is not set
1753CONFIG_NETWORK_FILESYSTEMS=y
1754CONFIG_NFS_FS=y
1755CONFIG_NFS_V3=y
1756# CONFIG_NFS_V3_ACL is not set
1757CONFIG_NFS_V4=y
1758# CONFIG_NFS_V4_1 is not set
1759CONFIG_ROOT_NFS=y
1760# CONFIG_NFSD is not set
1761CONFIG_LOCKD=y
1762CONFIG_LOCKD_V4=y
1763CONFIG_NFS_COMMON=y
1764CONFIG_SUNRPC=y
1765CONFIG_SUNRPC_GSS=y
1766CONFIG_RPCSEC_GSS_KRB5=y
1767# CONFIG_RPCSEC_GSS_SPKM3 is not set
1768# CONFIG_SMB_FS is not set
1769# CONFIG_CEPH_FS is not set
1770# CONFIG_CIFS is not set
1771# CONFIG_NCP_FS is not set
1772# CONFIG_CODA_FS is not set
1773# CONFIG_AFS_FS is not set
1774
1775#
1776# Partition Types
1777#
1778CONFIG_PARTITION_ADVANCED=y
1779# CONFIG_ACORN_PARTITION is not set
1780# CONFIG_OSF_PARTITION is not set
1781# CONFIG_AMIGA_PARTITION is not set
1782# CONFIG_ATARI_PARTITION is not set
1783# CONFIG_MAC_PARTITION is not set
1784CONFIG_MSDOS_PARTITION=y
1785# CONFIG_BSD_DISKLABEL is not set
1786# CONFIG_MINIX_SUBPARTITION is not set
1787# CONFIG_SOLARIS_X86_PARTITION is not set
1788# CONFIG_UNIXWARE_DISKLABEL is not set
1789# CONFIG_LDM_PARTITION is not set
1790# CONFIG_SGI_PARTITION is not set
1791# CONFIG_ULTRIX_PARTITION is not set
1792# CONFIG_SUN_PARTITION is not set
1793# CONFIG_KARMA_PARTITION is not set
1794# CONFIG_EFI_PARTITION is not set
1795# CONFIG_SYSV68_PARTITION is not set
1796CONFIG_NLS=y
1797CONFIG_NLS_DEFAULT="iso8859-1"
1798CONFIG_NLS_CODEPAGE_437=y
1799# CONFIG_NLS_CODEPAGE_737 is not set
1800# CONFIG_NLS_CODEPAGE_775 is not set
1801# CONFIG_NLS_CODEPAGE_850 is not set
1802# CONFIG_NLS_CODEPAGE_852 is not set
1803# CONFIG_NLS_CODEPAGE_855 is not set
1804# CONFIG_NLS_CODEPAGE_857 is not set
1805# CONFIG_NLS_CODEPAGE_860 is not set
1806# CONFIG_NLS_CODEPAGE_861 is not set
1807# CONFIG_NLS_CODEPAGE_862 is not set
1808# CONFIG_NLS_CODEPAGE_863 is not set
1809# CONFIG_NLS_CODEPAGE_864 is not set
1810# CONFIG_NLS_CODEPAGE_865 is not set
1811# CONFIG_NLS_CODEPAGE_866 is not set
1812# CONFIG_NLS_CODEPAGE_869 is not set
1813# CONFIG_NLS_CODEPAGE_936 is not set
1814# CONFIG_NLS_CODEPAGE_950 is not set
1815# CONFIG_NLS_CODEPAGE_932 is not set
1816# CONFIG_NLS_CODEPAGE_949 is not set
1817# CONFIG_NLS_CODEPAGE_874 is not set
1818# CONFIG_NLS_ISO8859_8 is not set
1819# CONFIG_NLS_CODEPAGE_1250 is not set
1820# CONFIG_NLS_CODEPAGE_1251 is not set
1821CONFIG_NLS_ASCII=y
1822CONFIG_NLS_ISO8859_1=y
1823# CONFIG_NLS_ISO8859_2 is not set
1824# CONFIG_NLS_ISO8859_3 is not set
1825# CONFIG_NLS_ISO8859_4 is not set
1826# CONFIG_NLS_ISO8859_5 is not set
1827# CONFIG_NLS_ISO8859_6 is not set
1828# CONFIG_NLS_ISO8859_7 is not set
1829# CONFIG_NLS_ISO8859_9 is not set
1830# CONFIG_NLS_ISO8859_13 is not set
1831# CONFIG_NLS_ISO8859_14 is not set
1832# CONFIG_NLS_ISO8859_15 is not set
1833# CONFIG_NLS_KOI8_R is not set
1834# CONFIG_NLS_KOI8_U is not set
1835CONFIG_NLS_UTF8=y
1836# CONFIG_DLM is not set
1837
1838#
1839# Kernel hacking
1840#
1841# CONFIG_PRINTK_TIME is not set
1842CONFIG_ENABLE_WARN_DEPRECATED=y
1843CONFIG_ENABLE_MUST_CHECK=y
1844CONFIG_FRAME_WARN=1024
1845# CONFIG_MAGIC_SYSRQ is not set
1846# CONFIG_STRIP_ASM_SYMS is not set
1847# CONFIG_UNUSED_SYMBOLS is not set
1848# CONFIG_DEBUG_FS is not set
1849# CONFIG_HEADERS_CHECK is not set
1850CONFIG_DEBUG_KERNEL=y
1851# CONFIG_DEBUG_SHIRQ is not set
1852CONFIG_DETECT_SOFTLOCKUP=y
1853# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1854CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1855CONFIG_DETECT_HUNG_TASK=y
1856# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
1857CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
1858CONFIG_SCHED_DEBUG=y
1859# CONFIG_SCHEDSTATS is not set
1860# CONFIG_TIMER_STATS is not set
1861# CONFIG_DEBUG_OBJECTS is not set
1862# CONFIG_SLUB_DEBUG_ON is not set
1863# CONFIG_SLUB_STATS is not set
1864# CONFIG_DEBUG_KMEMLEAK is not set
1865CONFIG_DEBUG_PREEMPT=y
1866# CONFIG_DEBUG_RT_MUTEXES is not set
1867# CONFIG_RT_MUTEX_TESTER is not set
1868# CONFIG_DEBUG_SPINLOCK is not set
1869# CONFIG_DEBUG_MUTEXES is not set
1870# CONFIG_DEBUG_LOCK_ALLOC is not set
1871# CONFIG_PROVE_LOCKING is not set
1872# CONFIG_LOCK_STAT is not set
1873# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1874# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1875# CONFIG_DEBUG_KOBJECT is not set
1876# CONFIG_DEBUG_BUGVERBOSE is not set
1877CONFIG_DEBUG_INFO=y
1878# CONFIG_DEBUG_VM is not set
1879# CONFIG_DEBUG_WRITECOUNT is not set
1880# CONFIG_DEBUG_MEMORY_INIT is not set
1881# CONFIG_DEBUG_LIST is not set
1882# CONFIG_DEBUG_SG is not set
1883# CONFIG_DEBUG_NOTIFIERS is not set
1884# CONFIG_DEBUG_CREDENTIALS is not set
1885# CONFIG_BOOT_PRINTK_DELAY is not set
1886# CONFIG_RCU_TORTURE_TEST is not set
1887# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1888# CONFIG_BACKTRACE_SELF_TEST is not set
1889# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1890# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
1891# CONFIG_FAULT_INJECTION is not set
1892# CONFIG_LATENCYTOP is not set
1893CONFIG_SYSCTL_SYSCALL_CHECK=y
1894# CONFIG_PAGE_POISONING is not set
1895CONFIG_HAVE_FUNCTION_TRACER=y
1896CONFIG_TRACING_SUPPORT=y
1897# CONFIG_FTRACE is not set
1898# CONFIG_ATOMIC64_SELFTEST is not set
1899# CONFIG_SAMPLES is not set
1900CONFIG_HAVE_ARCH_KGDB=y
1901# CONFIG_KGDB is not set
1902CONFIG_ARM_UNWIND=y
1903# CONFIG_DEBUG_USER is not set
1904# CONFIG_DEBUG_ERRORS is not set
1905# CONFIG_DEBUG_STACK_USAGE is not set
1906CONFIG_DEBUG_LL=y
1907# CONFIG_EARLY_PRINTK is not set
1908# CONFIG_DEBUG_ICEDCC is not set
1909# CONFIG_OC_ETM is not set
1910
1911#
1912# Security options
1913#
1914CONFIG_KEYS=y
1915CONFIG_KEYS_DEBUG_PROC_KEYS=y
1916CONFIG_SECURITY=y
1917# CONFIG_SECURITYFS is not set
1918# CONFIG_SECURITY_NETWORK is not set
1919# CONFIG_SECURITY_PATH is not set
1920# CONFIG_SECURITY_TOMOYO is not set
1921# CONFIG_IMA is not set
1922# CONFIG_DEFAULT_SECURITY_SELINUX is not set
1923# CONFIG_DEFAULT_SECURITY_SMACK is not set
1924# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
1925CONFIG_DEFAULT_SECURITY_DAC=y
1926CONFIG_DEFAULT_SECURITY=""
1927CONFIG_CRYPTO=y
1928
1929#
1930# Crypto core or helper
1931#
1932CONFIG_CRYPTO_ALGAPI=y
1933CONFIG_CRYPTO_ALGAPI2=y
1934CONFIG_CRYPTO_AEAD2=y
1935CONFIG_CRYPTO_BLKCIPHER=y
1936CONFIG_CRYPTO_BLKCIPHER2=y
1937CONFIG_CRYPTO_HASH=y
1938CONFIG_CRYPTO_HASH2=y
1939CONFIG_CRYPTO_RNG2=y
1940CONFIG_CRYPTO_PCOMP=y
1941CONFIG_CRYPTO_MANAGER=y
1942CONFIG_CRYPTO_MANAGER2=y
1943CONFIG_CRYPTO_MANAGER_TESTS=y
1944# CONFIG_CRYPTO_GF128MUL is not set
1945# CONFIG_CRYPTO_NULL is not set
1946CONFIG_CRYPTO_WORKQUEUE=y
1947# CONFIG_CRYPTO_CRYPTD is not set
1948# CONFIG_CRYPTO_AUTHENC is not set
1949CONFIG_CRYPTO_TEST=m
1950CONFIG_CRYPTO_CRYPTODEV=y
1951
1952#
1953# Authenticated Encryption with Associated Data
1954#
1955# CONFIG_CRYPTO_CCM is not set
1956# CONFIG_CRYPTO_GCM is not set
1957# CONFIG_CRYPTO_SEQIV is not set
1958
1959#
1960# Block modes
1961#
1962CONFIG_CRYPTO_CBC=y
1963# CONFIG_CRYPTO_CTR is not set
1964# CONFIG_CRYPTO_CTS is not set
1965CONFIG_CRYPTO_ECB=y
1966# CONFIG_CRYPTO_LRW is not set
1967# CONFIG_CRYPTO_PCBC is not set
1968# CONFIG_CRYPTO_XTS is not set
1969
1970#
1971# Hash modes
1972#
1973CONFIG_CRYPTO_HMAC=y
1974# CONFIG_CRYPTO_XCBC is not set
1975# CONFIG_CRYPTO_VMAC is not set
1976
1977#
1978# Digest
1979#
1980CONFIG_CRYPTO_CRC32C=m
1981# CONFIG_CRYPTO_GHASH is not set
1982# CONFIG_CRYPTO_MD4 is not set
1983CONFIG_CRYPTO_MD5=y
1984# CONFIG_CRYPTO_MICHAEL_MIC is not set
1985# CONFIG_CRYPTO_RMD128 is not set
1986# CONFIG_CRYPTO_RMD160 is not set
1987# CONFIG_CRYPTO_RMD256 is not set
1988# CONFIG_CRYPTO_RMD320 is not set
1989CONFIG_CRYPTO_SHA1=m
1990CONFIG_CRYPTO_SHA256=m
1991# CONFIG_CRYPTO_SHA512 is not set
1992# CONFIG_CRYPTO_TGR192 is not set
1993# CONFIG_CRYPTO_WP512 is not set
1994
1995#
1996# Ciphers
1997#
1998CONFIG_CRYPTO_AES=y
1999# CONFIG_CRYPTO_ANUBIS is not set
2000# CONFIG_CRYPTO_ARC4 is not set
2001# CONFIG_CRYPTO_BLOWFISH is not set
2002# CONFIG_CRYPTO_CAMELLIA is not set
2003# CONFIG_CRYPTO_CAST5 is not set
2004# CONFIG_CRYPTO_CAST6 is not set
2005CONFIG_CRYPTO_DES=y
2006# CONFIG_CRYPTO_FCRYPT is not set
2007# CONFIG_CRYPTO_KHAZAD is not set
2008# CONFIG_CRYPTO_SALSA20 is not set
2009# CONFIG_CRYPTO_SEED is not set
2010# CONFIG_CRYPTO_SERPENT is not set
2011# CONFIG_CRYPTO_TEA is not set
2012# CONFIG_CRYPTO_TWOFISH is not set
2013
2014#
2015# Compression
2016#
2017CONFIG_CRYPTO_DEFLATE=y
2018# CONFIG_CRYPTO_ZLIB is not set
2019CONFIG_CRYPTO_LZO=y
2020
2021#
2022# Random Number Generation
2023#
2024# CONFIG_CRYPTO_ANSI_CPRNG is not set
2025CONFIG_CRYPTO_HW=y
2026CONFIG_CRYPTO_DEV_DCP=y
2027# CONFIG_BINARY_PRINTF is not set
2028
2029#
2030# Library routines
2031#
2032CONFIG_BITREVERSE=y
2033CONFIG_GENERIC_FIND_LAST_BIT=y
2034CONFIG_CRC_CCITT=m
2035CONFIG_CRC16=y
2036# CONFIG_CRC_T10DIF is not set
2037# CONFIG_CRC_ITU_T is not set
2038CONFIG_CRC32=y
2039# CONFIG_CRC7 is not set
2040# CONFIG_LIBCRC32C is not set
2041CONFIG_ZLIB_INFLATE=y
2042CONFIG_ZLIB_DEFLATE=y
2043CONFIG_LZO_COMPRESS=y
2044CONFIG_LZO_DECOMPRESS=y
2045CONFIG_DECOMPRESS_GZIP=y
2046CONFIG_DECOMPRESS_BZIP2=y
2047CONFIG_DECOMPRESS_LZMA=y
2048CONFIG_GENERIC_ALLOCATOR=y
2049CONFIG_HAS_IOMEM=y
2050CONFIG_HAS_IOPORT=y
2051CONFIG_HAS_DMA=y
2052CONFIG_NLATTR=y
2053CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig
new file mode 100644
index 0000000..29c4677
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-2.6.35.3/imx28evk/defconfig
@@ -0,0 +1,2181 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.35.3
4# Tue Jul 2 16:27:45 2013
5#
6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y
9CONFIG_GENERIC_TIME=y
10# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
11CONFIG_GENERIC_CLOCKEVENTS=y
12CONFIG_HAVE_PROC_CPU=y
13CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y
16CONFIG_LOCKDEP_SUPPORT=y
17CONFIG_TRACE_IRQFLAGS_SUPPORT=y
18CONFIG_HARDIRQS_SW_RESEND=y
19CONFIG_GENERIC_IRQ_PROBE=y
20CONFIG_RWSEM_GENERIC_SPINLOCK=y
21CONFIG_ARCH_HAS_CPUFREQ=y
22CONFIG_GENERIC_HWEIGHT=y
23CONFIG_GENERIC_CALIBRATE_DELAY=y
24CONFIG_ZONE_DMA=y
25CONFIG_NEED_DMA_MAP_STATE=y
26CONFIG_FIQ=y
27CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
28CONFIG_VECTORS_BASE=0xffff0000
29CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
30CONFIG_CONSTRUCTORS=y
31
32#
33# General setup
34#
35CONFIG_EXPERIMENTAL=y
36CONFIG_BROKEN_ON_SMP=y
37CONFIG_LOCK_KERNEL=y
38CONFIG_INIT_ENV_ARG_LIMIT=32
39CONFIG_CROSS_COMPILE=""
40CONFIG_LOCALVERSION=""
41CONFIG_LOCALVERSION_AUTO=y
42CONFIG_HAVE_KERNEL_GZIP=y
43CONFIG_HAVE_KERNEL_LZMA=y
44CONFIG_HAVE_KERNEL_LZO=y
45CONFIG_KERNEL_GZIP=y
46# CONFIG_KERNEL_BZIP2 is not set
47# CONFIG_KERNEL_LZMA is not set
48# CONFIG_KERNEL_LZO is not set
49CONFIG_SWAP=y
50CONFIG_SYSVIPC=y
51CONFIG_SYSVIPC_SYSCTL=y
52CONFIG_POSIX_MQUEUE=y
53CONFIG_POSIX_MQUEUE_SYSCTL=y
54CONFIG_BSD_PROCESS_ACCT=y
55# CONFIG_BSD_PROCESS_ACCT_V3 is not set
56# CONFIG_TASKSTATS is not set
57CONFIG_AUDIT=y
58
59#
60# RCU Subsystem
61#
62CONFIG_TREE_RCU=y
63# CONFIG_TREE_PREEMPT_RCU is not set
64# CONFIG_TINY_RCU is not set
65# CONFIG_RCU_TRACE is not set
66CONFIG_RCU_FANOUT=32
67# CONFIG_RCU_FANOUT_EXACT is not set
68# CONFIG_TREE_RCU_TRACE is not set
69# CONFIG_IKCONFIG is not set
70CONFIG_LOG_BUF_SHIFT=17
71# CONFIG_CGROUPS is not set
72# CONFIG_SYSFS_DEPRECATED_V2 is not set
73# CONFIG_RELAY is not set
74CONFIG_NAMESPACES=y
75# CONFIG_UTS_NS is not set
76# CONFIG_IPC_NS is not set
77# CONFIG_USER_NS is not set
78# CONFIG_PID_NS is not set
79# CONFIG_NET_NS is not set
80CONFIG_BLK_DEV_INITRD=y
81CONFIG_INITRAMFS_SOURCE=""
82CONFIG_RD_GZIP=y
83CONFIG_RD_BZIP2=y
84CONFIG_RD_LZMA=y
85CONFIG_RD_LZO=y
86CONFIG_CC_OPTIMIZE_FOR_SIZE=y
87CONFIG_SYSCTL=y
88CONFIG_ANON_INODES=y
89# CONFIG_EMBEDDED is not set
90CONFIG_UID16=y
91CONFIG_SYSCTL_SYSCALL=y
92CONFIG_KALLSYMS=y
93CONFIG_KALLSYMS_EXTRA_PASS=y
94CONFIG_HOTPLUG=y
95CONFIG_PRINTK=y
96CONFIG_BUG=y
97CONFIG_ELF_CORE=y
98CONFIG_BASE_FULL=y
99CONFIG_FUTEX=y
100CONFIG_EPOLL=y
101CONFIG_SIGNALFD=y
102CONFIG_TIMERFD=y
103CONFIG_EVENTFD=y
104CONFIG_SHMEM=y
105CONFIG_AIO=y
106CONFIG_HAVE_PERF_EVENTS=y
107CONFIG_PERF_USE_VMALLOC=y
108
109#
110# Kernel Performance Events And Counters
111#
112CONFIG_PERF_EVENTS=y
113# CONFIG_PERF_COUNTERS is not set
114CONFIG_VM_EVENT_COUNTERS=y
115CONFIG_SLUB_DEBUG=y
116CONFIG_COMPAT_BRK=y
117# CONFIG_SLAB is not set
118CONFIG_SLUB=y
119# CONFIG_SLOB is not set
120CONFIG_PROFILING=y
121CONFIG_OPROFILE=m
122CONFIG_HAVE_OPROFILE=y
123CONFIG_KPROBES=y
124CONFIG_KRETPROBES=y
125CONFIG_HAVE_KPROBES=y
126CONFIG_HAVE_KRETPROBES=y
127CONFIG_HAVE_CLK=y
128
129#
130# GCOV-based kernel profiling
131#
132# CONFIG_GCOV_KERNEL is not set
133# CONFIG_SLOW_WORK is not set
134CONFIG_HAVE_GENERIC_DMA_COHERENT=y
135CONFIG_SLABINFO=y
136CONFIG_RT_MUTEXES=y
137CONFIG_BASE_SMALL=0
138CONFIG_MODULES=y
139# CONFIG_MODULE_FORCE_LOAD is not set
140CONFIG_MODULE_UNLOAD=y
141# CONFIG_MODULE_FORCE_UNLOAD is not set
142CONFIG_MODVERSIONS=y
143# CONFIG_MODULE_SRCVERSION_ALL is not set
144CONFIG_BLOCK=y
145CONFIG_LBDAF=y
146CONFIG_BLK_DEV_BSG=y
147# CONFIG_BLK_DEV_INTEGRITY is not set
148
149#
150# IO Schedulers
151#
152CONFIG_IOSCHED_NOOP=y
153CONFIG_IOSCHED_DEADLINE=y
154CONFIG_IOSCHED_CFQ=y
155# CONFIG_DEFAULT_DEADLINE is not set
156CONFIG_DEFAULT_CFQ=y
157# CONFIG_DEFAULT_NOOP is not set
158CONFIG_DEFAULT_IOSCHED="cfq"
159# CONFIG_INLINE_SPIN_TRYLOCK is not set
160# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
161# CONFIG_INLINE_SPIN_LOCK is not set
162# CONFIG_INLINE_SPIN_LOCK_BH is not set
163# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
164# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
165# CONFIG_INLINE_SPIN_UNLOCK is not set
166# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
167# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
168# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
169# CONFIG_INLINE_READ_TRYLOCK is not set
170# CONFIG_INLINE_READ_LOCK is not set
171# CONFIG_INLINE_READ_LOCK_BH is not set
172# CONFIG_INLINE_READ_LOCK_IRQ is not set
173# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
174# CONFIG_INLINE_READ_UNLOCK is not set
175# CONFIG_INLINE_READ_UNLOCK_BH is not set
176# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
177# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
178# CONFIG_INLINE_WRITE_TRYLOCK is not set
179# CONFIG_INLINE_WRITE_LOCK is not set
180# CONFIG_INLINE_WRITE_LOCK_BH is not set
181# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
182# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
183# CONFIG_INLINE_WRITE_UNLOCK is not set
184# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
185# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
186# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
187# CONFIG_MUTEX_SPIN_ON_OWNER is not set
188CONFIG_FREEZER=y
189
190#
191# System Type
192#
193CONFIG_MMU=y
194# CONFIG_ARCH_AAEC2000 is not set
195# CONFIG_ARCH_INTEGRATOR is not set
196# CONFIG_ARCH_REALVIEW is not set
197# CONFIG_ARCH_VERSATILE is not set
198# CONFIG_ARCH_VEXPRESS is not set
199# CONFIG_ARCH_AT91 is not set
200# CONFIG_ARCH_BCMRING is not set
201# CONFIG_ARCH_CLPS711X is not set
202# CONFIG_ARCH_CNS3XXX is not set
203# CONFIG_ARCH_GEMINI is not set
204# CONFIG_ARCH_EBSA110 is not set
205# CONFIG_ARCH_EP93XX is not set
206# CONFIG_ARCH_FOOTBRIDGE is not set
207# CONFIG_ARCH_MXC is not set
208# CONFIG_ARCH_STMP3XXX is not set
209CONFIG_ARCH_MXS=y
210# CONFIG_ARCH_NETX is not set
211# CONFIG_ARCH_H720X is not set
212# CONFIG_ARCH_IOP13XX is not set
213# CONFIG_ARCH_IOP32X is not set
214# CONFIG_ARCH_IOP33X is not set
215# CONFIG_ARCH_IXP23XX is not set
216# CONFIG_ARCH_IXP2000 is not set
217# CONFIG_ARCH_IXP4XX is not set
218# CONFIG_ARCH_L7200 is not set
219# CONFIG_ARCH_DOVE is not set
220# CONFIG_ARCH_KIRKWOOD is not set
221# CONFIG_ARCH_LOKI is not set
222# CONFIG_ARCH_MV78XX0 is not set
223# CONFIG_ARCH_ORION5X is not set
224# CONFIG_ARCH_MMP is not set
225# CONFIG_ARCH_KS8695 is not set
226# CONFIG_ARCH_NS9XXX is not set
227# CONFIG_ARCH_W90X900 is not set
228# CONFIG_ARCH_NUC93X is not set
229# CONFIG_ARCH_PNX4008 is not set
230# CONFIG_ARCH_PXA is not set
231# CONFIG_ARCH_MSM is not set
232# CONFIG_ARCH_SHMOBILE is not set
233# CONFIG_ARCH_RPC is not set
234# CONFIG_ARCH_SA1100 is not set
235# CONFIG_ARCH_S3C2410 is not set
236# CONFIG_ARCH_S3C64XX is not set
237# CONFIG_ARCH_S5P6440 is not set
238# CONFIG_ARCH_S5P6442 is not set
239# CONFIG_ARCH_S5PC100 is not set
240# CONFIG_ARCH_S5PV210 is not set
241# CONFIG_ARCH_SHARK is not set
242# CONFIG_ARCH_LH7A40X is not set
243# CONFIG_ARCH_U300 is not set
244# CONFIG_ARCH_U8500 is not set
245# CONFIG_ARCH_NOMADIK is not set
246# CONFIG_ARCH_DAVINCI is not set
247# CONFIG_ARCH_OMAP is not set
248# CONFIG_PLAT_SPEAR is not set
249CONFIG_IRAM_ALLOC=y
250CONFIG_DMA_ZONE_SIZE=16
251
252#
253# Freescale i.MXS implementations
254#
255CONFIG_ARCH_MX28=y
256# CONFIG_ARCH_MX23 is not set
257CONFIG_MACH_MX28EVK=y
258CONFIG_VECTORS_PHY_ADDR=0
259CONFIG_MXS_TIMER_WITH_MACH=y
260# CONFIG_MEM_mDDR is not set
261CONFIG_MXS_ICOLL=y
262CONFIG_MXS_EARLY_CONSOLE=y
263CONFIG_MXS_DMA_ENGINE=y
264CONFIG_MXS_LRADC=y
265CONFIG_MXS_PWM_CHANNELS=8
266
267#
268# Freescale Application UART:
269#
270CONFIG_MXS_AUART_DMA_SUPPORT=y
271CONFIG_MXS_AUART_PORTS=5
272CONFIG_MXS_AUART0_DEVICE_ENABLE=y
273# CONFIG_MXS_AUART0_DMA_ENABLE is not set
274CONFIG_MXS_AUART1_DEVICE_ENABLE=y
275# CONFIG_MXS_AUART1_DMA_ENABLE is not set
276CONFIG_MXS_AUART2_DEVICE_ENABLE=y
277# CONFIG_MXS_AUART2_DMA_ENABLE is not set
278CONFIG_MXS_AUART3_DEVICE_ENABLE=y
279# CONFIG_MXS_AUART3_DMA_ENABLE is not set
280CONFIG_MXS_AUART4_DEVICE_ENABLE=y
281# CONFIG_MXS_AUART4_DMA_ENABLE is not set
282CONFIG_MXS_RAM_FREQ_SCALING=y
283# CONFIG_MXS_RAM_MDDR is not set
284# CONFIG_MXS_RAM_DDR is not set
285
286#
287# Processor Type
288#
289CONFIG_CPU_ARM926T=y
290CONFIG_CPU_32v5=y
291CONFIG_CPU_ABRT_EV5TJ=y
292CONFIG_CPU_PABRT_LEGACY=y
293CONFIG_CPU_CACHE_VIVT=y
294CONFIG_CPU_COPY_V4WB=y
295CONFIG_CPU_TLB_V4WBI=y
296CONFIG_CPU_CP15=y
297CONFIG_CPU_CP15_MMU=y
298
299#
300# Processor Features
301#
302CONFIG_ARM_THUMB=y
303# CONFIG_CPU_ICACHE_DISABLE is not set
304# CONFIG_CPU_DCACHE_DISABLE is not set
305# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
306# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
307CONFIG_ARM_L1_CACHE_SHIFT=5
308CONFIG_COMMON_CLKDEV=y
309
310#
311# Bus support
312#
313# CONFIG_PCI_SYSCALL is not set
314# CONFIG_ARCH_SUPPORTS_MSI is not set
315# CONFIG_PCCARD is not set
316
317#
318# Kernel Features
319#
320CONFIG_TICK_ONESHOT=y
321CONFIG_NO_HZ=y
322CONFIG_HIGH_RES_TIMERS=y
323CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
324CONFIG_VMSPLIT_3G=y
325# CONFIG_VMSPLIT_2G is not set
326# CONFIG_VMSPLIT_1G is not set
327CONFIG_PAGE_OFFSET=0xC0000000
328# CONFIG_PREEMPT_NONE is not set
329# CONFIG_PREEMPT_VOLUNTARY is not set
330CONFIG_PREEMPT=y
331CONFIG_HZ=100
332CONFIG_AEABI=y
333CONFIG_OABI_COMPAT=y
334# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
335# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
336# CONFIG_HIGHMEM is not set
337CONFIG_SELECT_MEMORY_MODEL=y
338CONFIG_FLATMEM_MANUAL=y
339# CONFIG_DISCONTIGMEM_MANUAL is not set
340# CONFIG_SPARSEMEM_MANUAL is not set
341CONFIG_FLATMEM=y
342CONFIG_FLAT_NODE_MEM_MAP=y
343CONFIG_PAGEFLAGS_EXTENDED=y
344CONFIG_SPLIT_PTLOCK_CPUS=999999
345# CONFIG_PHYS_ADDR_T_64BIT is not set
346CONFIG_ZONE_DMA_FLAG=1
347CONFIG_BOUNCE=y
348CONFIG_VIRT_TO_BUS=y
349# CONFIG_KSM is not set
350CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
351CONFIG_ALIGNMENT_TRAP=y
352# CONFIG_UACCESS_WITH_MEMCPY is not set
353
354#
355# Boot options
356#
357CONFIG_ZBOOT_ROM_TEXT=0
358CONFIG_ZBOOT_ROM_BSS=0
359CONFIG_CMDLINE=""
360# CONFIG_XIP_KERNEL is not set
361# CONFIG_KEXEC is not set
362
363#
364# CPU Power Management
365#
366CONFIG_CPU_FREQ=y
367CONFIG_CPU_FREQ_TABLE=y
368# CONFIG_CPU_FREQ_DEBUG is not set
369CONFIG_CPU_FREQ_STAT=y
370# CONFIG_CPU_FREQ_STAT_DETAILS is not set
371# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
372# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
373CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
374# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
375# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
376CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
377CONFIG_CPU_FREQ_GOV_POWERSAVE=y
378CONFIG_CPU_FREQ_GOV_USERSPACE=y
379# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
380# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
381# CONFIG_CPU_IDLE is not set
382
383#
384# Floating point emulation
385#
386
387#
388# At least one emulation must be selected
389#
390# CONFIG_FPE_NWFPE is not set
391# CONFIG_FPE_FASTFPE is not set
392# CONFIG_VFP is not set
393
394#
395# Userspace binary formats
396#
397CONFIG_BINFMT_ELF=y
398# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
399CONFIG_HAVE_AOUT=y
400# CONFIG_BINFMT_AOUT is not set
401CONFIG_BINFMT_MISC=y
402
403#
404# Power management options
405#
406CONFIG_PM=y
407# CONFIG_PM_DEBUG is not set
408CONFIG_PM_SLEEP=y
409CONFIG_SUSPEND_NVS=y
410CONFIG_SUSPEND=y
411CONFIG_SUSPEND_FREEZER=y
412# CONFIG_APM_EMULATION is not set
413CONFIG_PM_RUNTIME=y
414CONFIG_PM_OPS=y
415CONFIG_ARCH_SUSPEND_POSSIBLE=y
416CONFIG_NET=y
417
418#
419# Networking options
420#
421CONFIG_PACKET=y
422CONFIG_UNIX=y
423CONFIG_XFRM=y
424# CONFIG_XFRM_USER is not set
425# CONFIG_XFRM_SUB_POLICY is not set
426# CONFIG_XFRM_MIGRATE is not set
427# CONFIG_XFRM_STATISTICS is not set
428# CONFIG_NET_KEY is not set
429CONFIG_INET=y
430CONFIG_IP_MULTICAST=y
431# CONFIG_IP_ADVANCED_ROUTER is not set
432CONFIG_IP_FIB_HASH=y
433CONFIG_IP_PNP=y
434CONFIG_IP_PNP_DHCP=y
435CONFIG_IP_PNP_BOOTP=y
436# CONFIG_IP_PNP_RARP is not set
437# CONFIG_NET_IPIP is not set
438# CONFIG_NET_IPGRE is not set
439# CONFIG_IP_MROUTE is not set
440# CONFIG_ARPD is not set
441# CONFIG_SYN_COOKIES is not set
442# CONFIG_INET_AH is not set
443# CONFIG_INET_ESP is not set
444# CONFIG_INET_IPCOMP is not set
445# CONFIG_INET_XFRM_TUNNEL is not set
446# CONFIG_INET_TUNNEL is not set
447CONFIG_INET_XFRM_MODE_TRANSPORT=y
448CONFIG_INET_XFRM_MODE_TUNNEL=y
449CONFIG_INET_XFRM_MODE_BEET=y
450# CONFIG_INET_LRO is not set
451CONFIG_INET_DIAG=y
452CONFIG_INET_TCP_DIAG=y
453# CONFIG_TCP_CONG_ADVANCED is not set
454CONFIG_TCP_CONG_CUBIC=y
455CONFIG_DEFAULT_TCP_CONG="cubic"
456# CONFIG_TCP_MD5SIG is not set
457# CONFIG_IPV6 is not set
458# CONFIG_NETLABEL is not set
459CONFIG_NETWORK_SECMARK=y
460# CONFIG_NETFILTER is not set
461# CONFIG_IP_DCCP is not set
462# CONFIG_IP_SCTP is not set
463# CONFIG_RDS is not set
464# CONFIG_TIPC is not set
465# CONFIG_ATM is not set
466# CONFIG_L2TP is not set
467# CONFIG_BRIDGE is not set
468# CONFIG_NET_DSA is not set
469# CONFIG_VLAN_8021Q is not set
470# CONFIG_DECNET is not set
471# CONFIG_LLC2 is not set
472# CONFIG_IPX is not set
473# CONFIG_ATALK is not set
474# CONFIG_X25 is not set
475# CONFIG_LAPB is not set
476# CONFIG_ECONET is not set
477# CONFIG_WAN_ROUTER is not set
478# CONFIG_PHONET is not set
479# CONFIG_IEEE802154 is not set
480# CONFIG_NET_SCHED is not set
481# CONFIG_DCB is not set
482
483#
484# Network testing
485#
486# CONFIG_NET_PKTGEN is not set
487# CONFIG_NET_TCPPROBE is not set
488# CONFIG_HAMRADIO is not set
489CONFIG_CAN=y
490CONFIG_CAN_RAW=y
491# CONFIG_CAN_BCM is not set
492
493#
494# CAN Device Drivers
495#
496# CONFIG_CAN_VCAN is not set
497# CONFIG_CAN_DEV is not set
498# CONFIG_CAN_DEBUG_DEVICES is not set
499CONFIG_CAN_FLEXCAN=m
500# CONFIG_IRDA is not set
501# CONFIG_BT is not set
502# CONFIG_AF_RXRPC is not set
503CONFIG_WIRELESS=y
504CONFIG_WIRELESS_EXT=y
505CONFIG_WEXT_CORE=y
506CONFIG_WEXT_PROC=y
507CONFIG_WEXT_PRIV=y
508# CONFIG_CFG80211 is not set
509CONFIG_WIRELESS_EXT_SYSFS=y
510# CONFIG_LIB80211 is not set
511
512#
513# CFG80211 needs to be enabled for MAC80211
514#
515
516#
517# Some wireless drivers require a rate control algorithm
518#
519# CONFIG_WIMAX is not set
520CONFIG_RFKILL=y
521CONFIG_RFKILL_INPUT=y
522# CONFIG_NET_9P is not set
523# CONFIG_CAIF is not set
524
525#
526# Device Drivers
527#
528
529#
530# Generic Driver Options
531#
532CONFIG_UEVENT_HELPER_PATH=""
533CONFIG_DEVTMPFS=y
534CONFIG_DEVTMPFS_MOUNT=y
535CONFIG_STANDALONE=y
536CONFIG_PREVENT_FIRMWARE_BUILD=y
537CONFIG_FW_LOADER=y
538CONFIG_FIRMWARE_IN_KERNEL=y
539CONFIG_EXTRA_FIRMWARE=""
540# CONFIG_SYS_HYPERVISOR is not set
541# CONFIG_CONNECTOR is not set
542CONFIG_MTD=y
543# CONFIG_MTD_DEBUG is not set
544# CONFIG_MTD_TESTS is not set
545CONFIG_MTD_CONCAT=y
546CONFIG_MTD_PARTITIONS=y
547# CONFIG_MTD_REDBOOT_PARTS is not set
548CONFIG_MTD_CMDLINE_PARTS=y
549# CONFIG_MTD_AFS_PARTS is not set
550# CONFIG_MTD_AR7_PARTS is not set
551
552#
553# User Modules And Translation Layers
554#
555CONFIG_MTD_CHAR=y
556CONFIG_MTD_BLKDEVS=y
557CONFIG_MTD_BLOCK=y
558# CONFIG_FTL is not set
559# CONFIG_NFTL is not set
560# CONFIG_INFTL is not set
561# CONFIG_RFD_FTL is not set
562# CONFIG_SSFDC is not set
563# CONFIG_SM_FTL is not set
564# CONFIG_MTD_OOPS is not set
565
566#
567# RAM/ROM/Flash chip drivers
568#
569# CONFIG_MTD_CFI is not set
570# CONFIG_MTD_JEDECPROBE is not set
571CONFIG_MTD_MAP_BANK_WIDTH_1=y
572CONFIG_MTD_MAP_BANK_WIDTH_2=y
573CONFIG_MTD_MAP_BANK_WIDTH_4=y
574# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
575# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
576# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
577CONFIG_MTD_CFI_I1=y
578CONFIG_MTD_CFI_I2=y
579# CONFIG_MTD_CFI_I4 is not set
580# CONFIG_MTD_CFI_I8 is not set
581# CONFIG_MTD_RAM is not set
582# CONFIG_MTD_ROM is not set
583# CONFIG_MTD_ABSENT is not set
584
585#
586# Mapping drivers for chip access
587#
588# CONFIG_MTD_COMPLEX_MAPPINGS is not set
589# CONFIG_MTD_PLATRAM is not set
590
591#
592# Self-contained MTD device drivers
593#
594# CONFIG_MTD_DATAFLASH is not set
595# CONFIG_MTD_MXC_DATAFLASH is not set
596# CONFIG_MTD_MXC_M25P80 is not set
597CONFIG_MTD_M25P80=m
598CONFIG_M25PXX_USE_FAST_READ=y
599# CONFIG_MTD_SST25L is not set
600# CONFIG_MTD_SLRAM is not set
601# CONFIG_MTD_PHRAM is not set
602# CONFIG_MTD_MTDRAM is not set
603# CONFIG_MTD_BLOCK2MTD is not set
604
605#
606# Disk-On-Chip Device Drivers
607#
608# CONFIG_MTD_DOC2000 is not set
609# CONFIG_MTD_DOC2001 is not set
610# CONFIG_MTD_DOC2001PLUS is not set
611CONFIG_MTD_NAND_ECC=y
612# CONFIG_MTD_NAND_ECC_SMC is not set
613CONFIG_MTD_NAND=y
614# CONFIG_MTD_NAND_VERIFY_WRITE is not set
615# CONFIG_MTD_SM_COMMON is not set
616# CONFIG_MTD_NAND_MUSEUM_IDS is not set
617CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
618# CONFIG_MTD_NAND_GPIO is not set
619CONFIG_MTD_NAND_IDS=y
620# CONFIG_MTD_NAND_DISKONCHIP is not set
621# CONFIG_MTD_NAND_NANDSIM is not set
622CONFIG_MTD_NAND_GPMI_NFC=y
623# CONFIG_MTD_NAND_PLATFORM is not set
624# CONFIG_MTD_ALAUDA is not set
625# CONFIG_MTD_ONENAND is not set
626
627#
628# LPDDR flash memory drivers
629#
630# CONFIG_MTD_LPDDR is not set
631
632#
633# UBI - Unsorted block images
634#
635CONFIG_MTD_UBI=y
636CONFIG_MTD_UBI_WL_THRESHOLD=4096
637CONFIG_MTD_UBI_BEB_RESERVE=1
638# CONFIG_MTD_UBI_GLUEBI is not set
639
640#
641# UBI debugging options
642#
643# CONFIG_MTD_UBI_DEBUG is not set
644CONFIG_MTD_UBI_BLOCK=y
645# CONFIG_PARPORT is not set
646CONFIG_BLK_DEV=y
647# CONFIG_BLK_DEV_COW_COMMON is not set
648CONFIG_BLK_DEV_LOOP=y
649# CONFIG_BLK_DEV_CRYPTOLOOP is not set
650
651#
652# DRBD disabled because PROC_FS, INET or CONNECTOR not selected
653#
654# CONFIG_BLK_DEV_NBD is not set
655# CONFIG_BLK_DEV_UB is not set
656CONFIG_BLK_DEV_RAM=y
657CONFIG_BLK_DEV_RAM_COUNT=4
658CONFIG_BLK_DEV_RAM_SIZE=16384
659# CONFIG_BLK_DEV_XIP is not set
660# CONFIG_CDROM_PKTCDVD is not set
661# CONFIG_ATA_OVER_ETH is not set
662# CONFIG_MG_DISK is not set
663CONFIG_MISC_DEVICES=y
664# CONFIG_AD525X_DPOT is not set
665# CONFIG_ICS932S401 is not set
666# CONFIG_ENCLOSURE_SERVICES is not set
667# CONFIG_ISL29003 is not set
668# CONFIG_SENSORS_TSL2550 is not set
669# CONFIG_DS1682 is not set
670# CONFIG_TI_DAC7512 is not set
671CONFIG_MXS_PERSISTENT=y
672CONFIG_MXS_PERFMON=y
673# CONFIG_C2PORT is not set
674
675#
676# EEPROM support
677#
678# CONFIG_EEPROM_AT24 is not set
679# CONFIG_EEPROM_AT25 is not set
680# CONFIG_EEPROM_LEGACY is not set
681# CONFIG_EEPROM_MAX6875 is not set
682# CONFIG_EEPROM_93CX6 is not set
683# CONFIG_IWMC3200TOP is not set
684CONFIG_HAVE_IDE=y
685# CONFIG_IDE is not set
686
687#
688# SCSI device support
689#
690CONFIG_SCSI_MOD=y
691# CONFIG_RAID_ATTRS is not set
692CONFIG_SCSI=y
693CONFIG_SCSI_DMA=y
694# CONFIG_SCSI_TGT is not set
695CONFIG_SCSI_NETLINK=y
696CONFIG_SCSI_PROC_FS=y
697
698#
699# SCSI support type (disk, tape, CD-ROM)
700#
701CONFIG_BLK_DEV_SD=y
702# CONFIG_CHR_DEV_ST is not set
703# CONFIG_CHR_DEV_OSST is not set
704# CONFIG_BLK_DEV_SR is not set
705# CONFIG_CHR_DEV_SG is not set
706# CONFIG_CHR_DEV_SCH is not set
707CONFIG_SCSI_MULTI_LUN=y
708# CONFIG_SCSI_CONSTANTS is not set
709# CONFIG_SCSI_LOGGING is not set
710# CONFIG_SCSI_SCAN_ASYNC is not set
711CONFIG_SCSI_WAIT_SCAN=m
712
713#
714# SCSI Transports
715#
716CONFIG_SCSI_SPI_ATTRS=m
717CONFIG_SCSI_FC_ATTRS=m
718CONFIG_SCSI_ISCSI_ATTRS=m
719# CONFIG_SCSI_SAS_ATTRS is not set
720# CONFIG_SCSI_SAS_LIBSAS is not set
721# CONFIG_SCSI_SRP_ATTRS is not set
722CONFIG_SCSI_LOWLEVEL=y
723# CONFIG_ISCSI_TCP is not set
724# CONFIG_LIBFC is not set
725# CONFIG_LIBFCOE is not set
726# CONFIG_SCSI_DEBUG is not set
727# CONFIG_SCSI_DH is not set
728# CONFIG_SCSI_OSD_INITIATOR is not set
729# CONFIG_ATA is not set
730# CONFIG_MD is not set
731CONFIG_NETDEVICES=y
732# CONFIG_DUMMY is not set
733# CONFIG_BONDING is not set
734# CONFIG_MACVLAN is not set
735# CONFIG_EQUALIZER is not set
736# CONFIG_TUN is not set
737# CONFIG_VETH is not set
738CONFIG_PHYLIB=y
739
740#
741# MII PHY device drivers
742#
743# CONFIG_MARVELL_PHY is not set
744# CONFIG_DAVICOM_PHY is not set
745# CONFIG_QSEMI_PHY is not set
746# CONFIG_LXT_PHY is not set
747# CONFIG_CICADA_PHY is not set
748# CONFIG_VITESSE_PHY is not set
749# CONFIG_SMSC_PHY is not set
750# CONFIG_BROADCOM_PHY is not set
751# CONFIG_ICPLUS_PHY is not set
752# CONFIG_REALTEK_PHY is not set
753# CONFIG_NATIONAL_PHY is not set
754# CONFIG_STE10XP is not set
755# CONFIG_LSI_ET1011C_PHY is not set
756# CONFIG_MICREL_PHY is not set
757# CONFIG_FIXED_PHY is not set
758# CONFIG_MDIO_BITBANG is not set
759CONFIG_NET_ETHERNET=y
760CONFIG_MII=y
761# CONFIG_AX88796 is not set
762# CONFIG_SMC91X is not set
763# CONFIG_DM9000 is not set
764# CONFIG_ENC28J60 is not set
765# CONFIG_ETHOC is not set
766# CONFIG_SMC911X is not set
767# CONFIG_SMSC911X is not set
768# CONFIG_DNET is not set
769# CONFIG_IBM_NEW_EMAC_ZMII is not set
770# CONFIG_IBM_NEW_EMAC_RGMII is not set
771# CONFIG_IBM_NEW_EMAC_TAH is not set
772# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
773# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
774# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
775# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
776# CONFIG_B44 is not set
777# CONFIG_KS8842 is not set
778# CONFIG_KS8851 is not set
779# CONFIG_KS8851_MLL is not set
780CONFIG_FEC=y
781# CONFIG_FEC_NAPI is not set
782# CONFIG_FEC_1588 is not set
783# CONFIG_FEC2 is not set
784# CONFIG_NETDEV_1000 is not set
785# CONFIG_NETDEV_10000 is not set
786CONFIG_WLAN=y
787# CONFIG_USB_ZD1201 is not set
788# CONFIG_HOSTAP is not set
789
790#
791# Enable WiMAX (Networking options) to see the WiMAX drivers
792#
793
794#
795# USB Network Adapters
796#
797# CONFIG_USB_CATC is not set
798# CONFIG_USB_KAWETH is not set
799# CONFIG_USB_PEGASUS is not set
800# CONFIG_USB_RTL8150 is not set
801# CONFIG_USB_USBNET is not set
802# CONFIG_USB_HSO is not set
803# CONFIG_USB_IPHETH is not set
804# CONFIG_WAN is not set
805# CONFIG_PPP is not set
806# CONFIG_SLIP is not set
807# CONFIG_NETCONSOLE is not set
808# CONFIG_NETPOLL is not set
809# CONFIG_NET_POLL_CONTROLLER is not set
810# CONFIG_ISDN is not set
811# CONFIG_PHONE is not set
812
813#
814# Input device support
815#
816CONFIG_INPUT=y
817CONFIG_INPUT_FF_MEMLESS=y
818# CONFIG_INPUT_POLLDEV is not set
819# CONFIG_INPUT_SPARSEKMAP is not set
820
821#
822# Userland interfaces
823#
824CONFIG_INPUT_MOUSEDEV=y
825CONFIG_INPUT_MOUSEDEV_PSAUX=y
826CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
827CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
828CONFIG_INPUT_JOYDEV=m
829CONFIG_INPUT_EVDEV=y
830# CONFIG_INPUT_EVBUG is not set
831
832#
833# Input Device Drivers
834#
835CONFIG_INPUT_KEYBOARD=y
836# CONFIG_KEYBOARD_ADP5588 is not set
837CONFIG_KEYBOARD_ATKBD=y
838# CONFIG_KEYBOARD_QT2160 is not set
839# CONFIG_KEYBOARD_LKKBD is not set
840# CONFIG_KEYBOARD_GPIO is not set
841# CONFIG_KEYBOARD_TCA6416 is not set
842# CONFIG_KEYBOARD_MATRIX is not set
843# CONFIG_KEYBOARD_LM8323 is not set
844# CONFIG_KEYBOARD_MAX7359 is not set
845# CONFIG_KEYBOARD_NEWTON is not set
846# CONFIG_KEYBOARD_OPENCORES is not set
847# CONFIG_KEYBOARD_STOWAWAY is not set
848# CONFIG_KEYBOARD_SUNKBD is not set
849# CONFIG_KEYBOARD_XTKBD is not set
850CONFIG_KEYBOARD_MXS=y
851# CONFIG_KEYBOARD_MPR121 is not set
852CONFIG_INPUT_MOUSE=y
853CONFIG_MOUSE_PS2=y
854CONFIG_MOUSE_PS2_ALPS=y
855CONFIG_MOUSE_PS2_LOGIPS2PP=y
856CONFIG_MOUSE_PS2_SYNAPTICS=y
857CONFIG_MOUSE_PS2_TRACKPOINT=y
858# CONFIG_MOUSE_PS2_ELANTECH is not set
859# CONFIG_MOUSE_PS2_SENTELIC is not set
860# CONFIG_MOUSE_PS2_TOUCHKIT is not set
861CONFIG_MOUSE_SERIAL=m
862# CONFIG_MOUSE_APPLETOUCH is not set
863# CONFIG_MOUSE_BCM5974 is not set
864CONFIG_MOUSE_VSXXXAA=m
865# CONFIG_MOUSE_GPIO is not set
866# CONFIG_MOUSE_SYNAPTICS_I2C is not set
867CONFIG_INPUT_JOYSTICK=y
868# CONFIG_JOYSTICK_ANALOG is not set
869# CONFIG_JOYSTICK_A3D is not set
870# CONFIG_JOYSTICK_ADI is not set
871# CONFIG_JOYSTICK_COBRA is not set
872# CONFIG_JOYSTICK_GF2K is not set
873# CONFIG_JOYSTICK_GRIP is not set
874# CONFIG_JOYSTICK_GRIP_MP is not set
875# CONFIG_JOYSTICK_GUILLEMOT is not set
876# CONFIG_JOYSTICK_INTERACT is not set
877# CONFIG_JOYSTICK_SIDEWINDER is not set
878# CONFIG_JOYSTICK_TMDC is not set
879# CONFIG_JOYSTICK_IFORCE is not set
880# CONFIG_JOYSTICK_WARRIOR is not set
881# CONFIG_JOYSTICK_MAGELLAN is not set
882# CONFIG_JOYSTICK_SPACEORB is not set
883# CONFIG_JOYSTICK_SPACEBALL is not set
884# CONFIG_JOYSTICK_STINGER is not set
885# CONFIG_JOYSTICK_TWIDJOY is not set
886# CONFIG_JOYSTICK_ZHENHUA is not set
887# CONFIG_JOYSTICK_JOYDUMP is not set
888# CONFIG_JOYSTICK_XPAD is not set
889# CONFIG_INPUT_TABLET is not set
890CONFIG_INPUT_TOUCHSCREEN=y
891# CONFIG_TOUCHSCREEN_ADS7846 is not set
892# CONFIG_TOUCHSCREEN_AD7877 is not set
893# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
894# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
895# CONFIG_TOUCHSCREEN_AD7879 is not set
896# CONFIG_TOUCHSCREEN_DYNAPRO is not set
897# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
898# CONFIG_TOUCHSCREEN_EETI is not set
899# CONFIG_TOUCHSCREEN_EGALAX is not set
900# CONFIG_TOUCHSCREEN_FUJITSU is not set
901CONFIG_TOUCHSCREEN_GUNZE=m
902# CONFIG_TOUCHSCREEN_ELO is not set
903# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
904# CONFIG_TOUCHSCREEN_MCS5000 is not set
905# CONFIG_TOUCHSCREEN_MTOUCH is not set
906# CONFIG_TOUCHSCREEN_INEXIO is not set
907# CONFIG_TOUCHSCREEN_MK712 is not set
908CONFIG_TOUCHSCREEN_MXS=y
909# CONFIG_TOUCHSCREEN_PENMOUNT is not set
910# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
911# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
912# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
913# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
914# CONFIG_TOUCHSCREEN_TSC2007 is not set
915# CONFIG_TOUCHSCREEN_W90X900 is not set
916# CONFIG_TOUCHSCREEN_TPS6507X is not set
917# CONFIG_TOUCHSCREEN_P1003 is not set
918# CONFIG_TOUCHSCREEN_MAX11801 is not set
919CONFIG_INPUT_MISC=y
920# CONFIG_INPUT_AD714X is not set
921# CONFIG_INPUT_ATI_REMOTE is not set
922# CONFIG_INPUT_ATI_REMOTE2 is not set
923# CONFIG_INPUT_KEYSPAN_REMOTE is not set
924# CONFIG_INPUT_POWERMATE is not set
925# CONFIG_INPUT_YEALINK is not set
926# CONFIG_INPUT_CM109 is not set
927CONFIG_INPUT_UINPUT=m
928# CONFIG_INPUT_PCF8574 is not set
929# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
930# CONFIG_INPUT_ISL29023 is not set
931
932#
933# Hardware I/O ports
934#
935CONFIG_SERIO=y
936CONFIG_SERIO_SERPORT=y
937CONFIG_SERIO_LIBPS2=y
938# CONFIG_SERIO_RAW is not set
939# CONFIG_SERIO_ALTERA_PS2 is not set
940# CONFIG_GAMEPORT is not set
941
942#
943# Character devices
944#
945CONFIG_VT=y
946CONFIG_CONSOLE_TRANSLATIONS=y
947CONFIG_VT_CONSOLE=y
948CONFIG_HW_CONSOLE=y
949# CONFIG_VT_HW_CONSOLE_BINDING is not set
950CONFIG_DEVKMEM=y
951CONFIG_SERIAL_NONSTANDARD=y
952# CONFIG_N_HDLC is not set
953# CONFIG_N_GSM is not set
954# CONFIG_RISCOM8 is not set
955# CONFIG_SPECIALIX is not set
956CONFIG_STALDRV=y
957CONFIG_MXS_VIIM=y
958
959#
960# Serial drivers
961#
962# CONFIG_SERIAL_8250 is not set
963
964#
965# Non-8250 serial port support
966#
967CONFIG_SERIAL_MXS_DUART=y
968CONFIG_SERIAL_MXS_AUART=y
969# CONFIG_SERIAL_MXS_AUART_CONSOLE is not set
970CONFIG_SERIAL_MXS_DUART_CONSOLE=y
971# CONFIG_SERIAL_MAX3100 is not set
972CONFIG_SERIAL_CORE=y
973CONFIG_SERIAL_CORE_CONSOLE=y
974# CONFIG_SERIAL_TIMBERDALE is not set
975# CONFIG_SERIAL_ALTERA_JTAGUART is not set
976# CONFIG_SERIAL_ALTERA_UART is not set
977CONFIG_UNIX98_PTYS=y
978# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
979CONFIG_LEGACY_PTYS=y
980CONFIG_LEGACY_PTY_COUNT=256
981# CONFIG_FSL_OTP is not set
982CONFIG_IPMI_HANDLER=m
983# CONFIG_IPMI_PANIC_EVENT is not set
984CONFIG_IPMI_DEVICE_INTERFACE=m
985CONFIG_IPMI_SI=m
986CONFIG_IPMI_WATCHDOG=m
987CONFIG_IPMI_POWEROFF=m
988CONFIG_HW_RANDOM=m
989# CONFIG_HW_RANDOM_TIMERIOMEM is not set
990# CONFIG_R3964 is not set
991CONFIG_RAW_DRIVER=y
992CONFIG_MAX_RAW_DEVS=8192
993# CONFIG_TCG_TPM is not set
994# CONFIG_RAMOOPS is not set
995CONFIG_I2C=y
996CONFIG_I2C_BOARDINFO=y
997CONFIG_I2C_COMPAT=y
998# CONFIG_I2C_CHARDEV is not set
999CONFIG_I2C_HELPER_AUTO=y
1000
1001#
1002# I2C Hardware Bus support
1003#
1004
1005#
1006# I2C system bus drivers (mostly embedded / system-on-chip)
1007#
1008# CONFIG_I2C_DESIGNWARE is not set
1009# CONFIG_I2C_GPIO is not set
1010CONFIG_I2C_MXS=y
1011CONFIG_I2C_MXS_SELECT0=y
1012# CONFIG_I2C_MXS_SELECT0_PIOQUEUE_MODE is not set
1013# CONFIG_I2C_MXS_SELECT1 is not set
1014# CONFIG_I2C_OCORES is not set
1015# CONFIG_I2C_PCA_PLATFORM is not set
1016# CONFIG_I2C_SIMTEC is not set
1017# CONFIG_I2C_XILINX is not set
1018
1019#
1020# External I2C/SMBus adapter drivers
1021#
1022# CONFIG_I2C_PARPORT_LIGHT is not set
1023# CONFIG_I2C_TAOS_EVM is not set
1024# CONFIG_I2C_TINY_USB is not set
1025
1026#
1027# Other I2C/SMBus bus drivers
1028#
1029# CONFIG_I2C_STUB is not set
1030# CONFIG_I2C_DEBUG_CORE is not set
1031# CONFIG_I2C_DEBUG_ALGO is not set
1032# CONFIG_I2C_DEBUG_BUS is not set
1033CONFIG_SPI=y
1034CONFIG_SPI_MASTER=y
1035
1036#
1037# SPI Master Controller Drivers
1038#
1039# CONFIG_SPI_BITBANG is not set
1040# CONFIG_SPI_GPIO is not set
1041# CONFIG_SPI_XILINX is not set
1042CONFIG_SPI_MXS=y
1043# CONFIG_SPI_DESIGNWARE is not set
1044
1045#
1046# SPI Protocol Masters
1047#
1048# CONFIG_SPI_SPIDEV is not set
1049# CONFIG_SPI_TLE62X0 is not set
1050
1051#
1052# PPS support
1053#
1054# CONFIG_PPS is not set
1055CONFIG_ARCH_REQUIRE_GPIOLIB=y
1056CONFIG_GPIOLIB=y
1057# CONFIG_GPIO_SYSFS is not set
1058
1059#
1060# Memory mapped GPIO expanders:
1061#
1062# CONFIG_GPIO_IT8761E is not set
1063
1064#
1065# I2C GPIO expanders:
1066#
1067# CONFIG_GPIO_MAX7300 is not set
1068# CONFIG_GPIO_MAX732X is not set
1069# CONFIG_GPIO_PCA953X is not set
1070# CONFIG_GPIO_PCF857X is not set
1071# CONFIG_GPIO_ADP5588 is not set
1072
1073#
1074# PCI GPIO expanders:
1075#
1076
1077#
1078# SPI GPIO expanders:
1079#
1080# CONFIG_GPIO_MAX7301 is not set
1081# CONFIG_GPIO_MCP23S08 is not set
1082# CONFIG_GPIO_MC33880 is not set
1083
1084#
1085# AC97 GPIO expanders:
1086#
1087
1088#
1089# MODULbus GPIO expanders:
1090#
1091# CONFIG_W1 is not set
1092CONFIG_POWER_SUPPLY=y
1093# CONFIG_POWER_SUPPLY_DEBUG is not set
1094# CONFIG_PDA_POWER is not set
1095# CONFIG_TEST_POWER is not set
1096# CONFIG_BATTERY_DS2760 is not set
1097# CONFIG_BATTERY_DS2782 is not set
1098# CONFIG_BATTERY_BQ27x00 is not set
1099# CONFIG_BATTERY_MAX17040 is not set
1100CONFIG_BATTERY_MXS=y
1101# CONFIG_MXS_VBUS_CURRENT_DRAW is not set
1102# CONFIG_BATTERY_DS2438 is not set
1103# CONFIG_HWMON is not set
1104# CONFIG_THERMAL is not set
1105CONFIG_WATCHDOG=y
1106# CONFIG_WATCHDOG_NOWAYOUT is not set
1107
1108#
1109# Watchdog Device Drivers
1110#
1111# CONFIG_SOFT_WATCHDOG is not set
1112CONFIG_MXS_WATCHDOG=y
1113# CONFIG_MAX63XX_WATCHDOG is not set
1114
1115#
1116# USB-based Watchdog Cards
1117#
1118# CONFIG_USBPCWATCHDOG is not set
1119CONFIG_SSB_POSSIBLE=y
1120
1121#
1122# Sonics Silicon Backplane
1123#
1124CONFIG_SSB=m
1125CONFIG_SSB_SDIOHOST_POSSIBLE=y
1126# CONFIG_SSB_SDIOHOST is not set
1127# CONFIG_SSB_DEBUG is not set
1128CONFIG_MFD_SUPPORT=y
1129# CONFIG_MFD_CORE is not set
1130# CONFIG_MFD_88PM860X is not set
1131# CONFIG_MFD_SM501 is not set
1132# CONFIG_MFD_ASIC3 is not set
1133# CONFIG_HTC_EGPIO is not set
1134# CONFIG_HTC_PASIC3 is not set
1135# CONFIG_HTC_I2CPLD is not set
1136# CONFIG_TPS65010 is not set
1137# CONFIG_TPS6507X is not set
1138# CONFIG_TWL4030_CORE is not set
1139# CONFIG_MFD_TC35892 is not set
1140# CONFIG_MFD_TMIO is not set
1141# CONFIG_MFD_T7L66XB is not set
1142# CONFIG_MFD_TC6387XB is not set
1143# CONFIG_MFD_TC6393XB is not set
1144# CONFIG_PMIC_DA903X is not set
1145# CONFIG_PMIC_ADP5520 is not set
1146# CONFIG_MFD_MAX8925 is not set
1147# CONFIG_MFD_WM8400 is not set
1148# CONFIG_MFD_WM831X is not set
1149# CONFIG_MFD_WM8350_I2C is not set
1150# CONFIG_MFD_WM8994 is not set
1151# CONFIG_MFD_LTC3589_I2C is not set
1152# CONFIG_MFD_PCF50633 is not set
1153# CONFIG_MFD_MC13783 is not set
1154# CONFIG_PMIC_DA9052 is not set
1155# CONFIG_ABX500_CORE is not set
1156# CONFIG_EZX_PCAP is not set
1157# CONFIG_AB8500_CORE is not set
1158# CONFIG_MFD_MAX17135 is not set
1159CONFIG_REGULATOR=y
1160# CONFIG_REGULATOR_DEBUG is not set
1161# CONFIG_REGULATOR_DUMMY is not set
1162# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
1163# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1164# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1165# CONFIG_REGULATOR_BQ24022 is not set
1166# CONFIG_REGULATOR_MAX1586 is not set
1167# CONFIG_REGULATOR_MAX8649 is not set
1168# CONFIG_REGULATOR_MAX8660 is not set
1169# CONFIG_REGULATOR_LP3971 is not set
1170# CONFIG_REGULATOR_TPS65023 is not set
1171# CONFIG_REGULATOR_TPS6507X is not set
1172CONFIG_REGULATOR_MXS=y
1173CONFIG_MEDIA_SUPPORT=y
1174
1175#
1176# Multimedia core support
1177#
1178CONFIG_VIDEO_DEV=y
1179CONFIG_VIDEO_V4L2_COMMON=y
1180# CONFIG_VIDEO_ALLOW_V4L1 is not set
1181CONFIG_VIDEO_V4L1_COMPAT=y
1182# CONFIG_DVB_CORE is not set
1183CONFIG_VIDEO_MEDIA=y
1184
1185#
1186# Multimedia drivers
1187#
1188CONFIG_IR_CORE=y
1189CONFIG_VIDEO_IR=y
1190CONFIG_RC_MAP=y
1191CONFIG_IR_NEC_DECODER=y
1192CONFIG_IR_RC5_DECODER=y
1193CONFIG_IR_RC6_DECODER=y
1194CONFIG_IR_JVC_DECODER=y
1195CONFIG_IR_SONY_DECODER=y
1196# CONFIG_IR_IMON is not set
1197# CONFIG_MEDIA_ATTACH is not set
1198CONFIG_MEDIA_TUNER=y
1199# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
1200CONFIG_MEDIA_TUNER_SIMPLE=y
1201CONFIG_MEDIA_TUNER_TDA8290=y
1202CONFIG_MEDIA_TUNER_TDA9887=y
1203CONFIG_MEDIA_TUNER_TEA5761=y
1204CONFIG_MEDIA_TUNER_TEA5767=y
1205CONFIG_MEDIA_TUNER_MT20XX=y
1206CONFIG_MEDIA_TUNER_XC2028=y
1207CONFIG_MEDIA_TUNER_XC5000=y
1208CONFIG_MEDIA_TUNER_MC44S803=y
1209CONFIG_VIDEO_V4L2=y
1210CONFIG_VIDEOBUF_GEN=y
1211CONFIG_VIDEOBUF_DMA_CONTIG=y
1212CONFIG_VIDEO_CAPTURE_DRIVERS=y
1213# CONFIG_VIDEO_ADV_DEBUG is not set
1214# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1215# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
1216CONFIG_VIDEO_IR_I2C=y
1217
1218#
1219# Encoders/decoders and other helper chips
1220#
1221
1222#
1223# Audio decoders
1224#
1225# CONFIG_VIDEO_TVAUDIO is not set
1226# CONFIG_VIDEO_TDA7432 is not set
1227# CONFIG_VIDEO_TDA9840 is not set
1228# CONFIG_VIDEO_TDA9875 is not set
1229# CONFIG_VIDEO_TEA6415C is not set
1230# CONFIG_VIDEO_TEA6420 is not set
1231# CONFIG_VIDEO_MSP3400 is not set
1232# CONFIG_VIDEO_CS5345 is not set
1233# CONFIG_VIDEO_CS53L32A is not set
1234# CONFIG_VIDEO_M52790 is not set
1235# CONFIG_VIDEO_TLV320AIC23B is not set
1236# CONFIG_VIDEO_WM8775 is not set
1237# CONFIG_VIDEO_WM8739 is not set
1238# CONFIG_VIDEO_VP27SMPX is not set
1239
1240#
1241# RDS decoders
1242#
1243# CONFIG_VIDEO_SAA6588 is not set
1244
1245#
1246# Video decoders
1247#
1248# CONFIG_VIDEO_ADV7180 is not set
1249# CONFIG_VIDEO_BT819 is not set
1250# CONFIG_VIDEO_BT856 is not set
1251# CONFIG_VIDEO_BT866 is not set
1252# CONFIG_VIDEO_KS0127 is not set
1253# CONFIG_VIDEO_OV7670 is not set
1254# CONFIG_VIDEO_MT9V011 is not set
1255# CONFIG_VIDEO_TCM825X is not set
1256# CONFIG_VIDEO_SAA7110 is not set
1257# CONFIG_VIDEO_SAA711X is not set
1258# CONFIG_VIDEO_SAA717X is not set
1259# CONFIG_VIDEO_SAA7191 is not set
1260# CONFIG_VIDEO_TVP514X is not set
1261# CONFIG_VIDEO_TVP5150 is not set
1262# CONFIG_VIDEO_TVP7002 is not set
1263# CONFIG_VIDEO_VPX3220 is not set
1264
1265#
1266# Video and audio decoders
1267#
1268# CONFIG_VIDEO_CX25840 is not set
1269
1270#
1271# MPEG video encoders
1272#
1273# CONFIG_VIDEO_CX2341X is not set
1274
1275#
1276# Video encoders
1277#
1278# CONFIG_VIDEO_SAA7127 is not set
1279# CONFIG_VIDEO_SAA7185 is not set
1280# CONFIG_VIDEO_ADV7170 is not set
1281# CONFIG_VIDEO_ADV7175 is not set
1282# CONFIG_VIDEO_THS7303 is not set
1283# CONFIG_VIDEO_ADV7343 is not set
1284# CONFIG_VIDEO_AK881X is not set
1285
1286#
1287# Video improvement chips
1288#
1289# CONFIG_VIDEO_UPD64031A is not set
1290# CONFIG_VIDEO_UPD64083 is not set
1291CONFIG_VIDEO_MXS_PXP=y
1292# CONFIG_VIDEO_SAA5246A is not set
1293# CONFIG_VIDEO_SAA5249 is not set
1294# CONFIG_SOC_CAMERA is not set
1295# CONFIG_V4L_USB_DRIVERS is not set
1296# CONFIG_V4L_MEM2MEM_DRIVERS is not set
1297# CONFIG_RADIO_ADAPTERS is not set
1298# CONFIG_DAB is not set
1299
1300#
1301# Graphics support
1302#
1303# CONFIG_VGASTATE is not set
1304# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1305CONFIG_FB=y
1306# CONFIG_FIRMWARE_EDID is not set
1307# CONFIG_FB_DDC is not set
1308# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1309CONFIG_FB_CFB_FILLRECT=y
1310CONFIG_FB_CFB_COPYAREA=y
1311CONFIG_FB_CFB_IMAGEBLIT=y
1312# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1313# CONFIG_FB_SYS_FILLRECT is not set
1314# CONFIG_FB_SYS_COPYAREA is not set
1315# CONFIG_FB_SYS_IMAGEBLIT is not set
1316# CONFIG_FB_FOREIGN_ENDIAN is not set
1317# CONFIG_FB_SYS_FOPS is not set
1318# CONFIG_FB_SVGALIB is not set
1319# CONFIG_FB_MACMODES is not set
1320# CONFIG_FB_BACKLIGHT is not set
1321# CONFIG_FB_MODE_HELPERS is not set
1322# CONFIG_FB_TILEBLITTING is not set
1323
1324#
1325# Frame buffer hardware drivers
1326#
1327CONFIG_FB_MXS=y
1328CONFIG_FB_MXS_LCD_43WVF1G=y
1329# CONFIG_FB_MXS_LCD_LMS430 is not set
1330# CONFIG_FB_MXS_TVENC is not set
1331# CONFIG_FB_S1D13XXX is not set
1332# CONFIG_FB_VIRTUAL is not set
1333# CONFIG_FB_METRONOME is not set
1334# CONFIG_FB_MB862XX is not set
1335# CONFIG_FB_BROADSHEET is not set
1336CONFIG_BACKLIGHT_LCD_SUPPORT=y
1337# CONFIG_LCD_CLASS_DEVICE is not set
1338CONFIG_BACKLIGHT_CLASS_DEVICE=y
1339# CONFIG_BACKLIGHT_GENERIC is not set
1340# CONFIG_BACKLIGHT_ADP8860 is not set
1341CONFIG_BACKLIGHT_MXS=y
1342
1343#
1344# Display device support
1345#
1346# CONFIG_DISPLAY_SUPPORT is not set
1347
1348#
1349# Console display driver support
1350#
1351# CONFIG_VGA_CONSOLE is not set
1352CONFIG_DUMMY_CONSOLE=y
1353CONFIG_FRAMEBUFFER_CONSOLE=y
1354# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1355# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1356# CONFIG_FONTS is not set
1357CONFIG_FONT_8x8=y
1358CONFIG_FONT_8x16=y
1359CONFIG_LOGO=y
1360# CONFIG_LOGO_LINUX_MONO is not set
1361# CONFIG_LOGO_LINUX_VGA16 is not set
1362CONFIG_LOGO_LINUX_CLUT224=y
1363CONFIG_SOUND=y
1364# CONFIG_SOUND_OSS_CORE is not set
1365CONFIG_SND=y
1366CONFIG_SND_TIMER=y
1367CONFIG_SND_PCM=y
1368CONFIG_SND_JACK=y
1369# CONFIG_SND_SEQUENCER is not set
1370# CONFIG_SND_MIXER_OSS is not set
1371# CONFIG_SND_PCM_OSS is not set
1372# CONFIG_SND_HRTIMER is not set
1373# CONFIG_SND_DYNAMIC_MINORS is not set
1374CONFIG_SND_SUPPORT_OLD_API=y
1375CONFIG_SND_VERBOSE_PROCFS=y
1376# CONFIG_SND_VERBOSE_PRINTK is not set
1377# CONFIG_SND_DEBUG is not set
1378# CONFIG_SND_RAWMIDI_SEQ is not set
1379# CONFIG_SND_OPL3_LIB_SEQ is not set
1380# CONFIG_SND_OPL4_LIB_SEQ is not set
1381# CONFIG_SND_SBAWE_SEQ is not set
1382# CONFIG_SND_EMU10K1_SEQ is not set
1383# CONFIG_SND_DRIVERS is not set
1384# CONFIG_SND_ARM is not set
1385CONFIG_SND_SPI=y
1386# CONFIG_SND_USB is not set
1387CONFIG_SND_SOC=y
1388CONFIG_SND_MXS_SOC=y
1389CONFIG_SND_MXS_SOC_SPDIF_DAI=y
1390CONFIG_SND_MXS_SOC_EVK_DEVB=y
1391CONFIG_SND_MXS_SOC_DAI=y
1392CONFIG_SND_MXS_SOC_EVK_DEVB_SPDIF=y
1393CONFIG_SND_SOC_I2C_AND_SPI=y
1394# CONFIG_SND_SOC_ALL_CODECS is not set
1395CONFIG_SND_SOC_SGTL5000=y
1396CONFIG_SND_SOC_MXS_SPDIF=y
1397# CONFIG_SOUND_PRIME is not set
1398CONFIG_HID_SUPPORT=y
1399CONFIG_HID=y
1400# CONFIG_HIDRAW is not set
1401
1402#
1403# USB Input Devices
1404#
1405CONFIG_USB_HID=y
1406# CONFIG_HID_PID is not set
1407CONFIG_USB_HIDDEV=y
1408
1409#
1410# Special HID drivers
1411#
1412# CONFIG_HID_3M_PCT is not set
1413CONFIG_HID_A4TECH=y
1414CONFIG_HID_APPLE=y
1415CONFIG_HID_BELKIN=y
1416# CONFIG_HID_CANDO is not set
1417CONFIG_HID_CHERRY=y
1418CONFIG_HID_CHICONY=y
1419# CONFIG_HID_PRODIKEYS is not set
1420CONFIG_HID_CYPRESS=y
1421CONFIG_HID_DRAGONRISE=y
1422# CONFIG_DRAGONRISE_FF is not set
1423# CONFIG_HID_EGALAX is not set
1424CONFIG_HID_EZKEY=y
1425CONFIG_HID_KYE=y
1426CONFIG_HID_GYRATION=y
1427# CONFIG_HID_TWINHAN is not set
1428CONFIG_HID_KENSINGTON=y
1429CONFIG_HID_LOGITECH=y
1430# CONFIG_LOGITECH_FF is not set
1431# CONFIG_LOGIRUMBLEPAD2_FF is not set
1432# CONFIG_LOGIG940_FF is not set
1433CONFIG_HID_MICROSOFT=y
1434# CONFIG_HID_MOSART is not set
1435CONFIG_HID_MONTEREY=y
1436CONFIG_HID_NTRIG=y
1437# CONFIG_HID_ORTEK is not set
1438CONFIG_HID_PANTHERLORD=y
1439# CONFIG_PANTHERLORD_FF is not set
1440CONFIG_HID_PETALYNX=y
1441# CONFIG_HID_PICOLCD is not set
1442# CONFIG_HID_QUANTA is not set
1443# CONFIG_HID_ROCCAT is not set
1444# CONFIG_HID_ROCCAT_KONE is not set
1445CONFIG_HID_SAMSUNG=y
1446CONFIG_HID_SONY=y
1447# CONFIG_HID_STANTUM is not set
1448CONFIG_HID_SUNPLUS=y
1449CONFIG_HID_GREENASIA=y
1450# CONFIG_GREENASIA_FF is not set
1451CONFIG_HID_SMARTJOYPLUS=y
1452# CONFIG_SMARTJOYPLUS_FF is not set
1453CONFIG_HID_TOPSEED=y
1454CONFIG_HID_THRUSTMASTER=y
1455# CONFIG_THRUSTMASTER_FF is not set
1456CONFIG_HID_ZEROPLUS=y
1457# CONFIG_ZEROPLUS_FF is not set
1458# CONFIG_HID_ZYDACRON is not set
1459CONFIG_USB_SUPPORT=y
1460CONFIG_USB_ARCH_HAS_HCD=y
1461# CONFIG_USB_ARCH_HAS_OHCI is not set
1462CONFIG_USB_ARCH_HAS_EHCI=y
1463CONFIG_USB=y
1464# CONFIG_USB_DEBUG is not set
1465# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1466
1467#
1468# Miscellaneous USB options
1469#
1470# CONFIG_USB_DEVICEFS is not set
1471# CONFIG_USB_DEVICE_CLASS is not set
1472# CONFIG_USB_DYNAMIC_MINORS is not set
1473CONFIG_USB_SUSPEND=y
1474CONFIG_USB_OTG=y
1475# CONFIG_USB_OTG_WHITELIST is not set
1476# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1477# CONFIG_USB_MON is not set
1478# CONFIG_USB_WUSB is not set
1479# CONFIG_USB_WUSB_CBAF is not set
1480
1481#
1482# USB Host Controller Drivers
1483#
1484# CONFIG_USB_C67X00_HCD is not set
1485CONFIG_USB_EHCI_HCD=y
1486CONFIG_USB_EHCI_ARC=y
1487CONFIG_USB_EHCI_ARC_H1=y
1488CONFIG_USB_EHCI_ARC_OTG=y
1489# CONFIG_USB_STATIC_IRAM is not set
1490# CONFIG_USB_EHCI_FSL_MC13783 is not set
1491# CONFIG_USB_EHCI_FSL_1301 is not set
1492# CONFIG_USB_EHCI_FSL_1504 is not set
1493CONFIG_USB_EHCI_FSL_UTMI=y
1494CONFIG_USB_EHCI_ROOT_HUB_TT=y
1495# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1496# CONFIG_USB_OXU210HP_HCD is not set
1497# CONFIG_USB_ISP116X_HCD is not set
1498# CONFIG_USB_ISP1760_HCD is not set
1499# CONFIG_USB_ISP1362_HCD is not set
1500# CONFIG_USB_SL811_HCD is not set
1501# CONFIG_USB_R8A66597_HCD is not set
1502# CONFIG_USB_HWA_HCD is not set
1503# CONFIG_USB_MUSB_HDRC is not set
1504# CONFIG_USB_GADGET_MUSB_HDRC is not set
1505
1506#
1507# USB Device Class drivers
1508#
1509# CONFIG_USB_ACM is not set
1510# CONFIG_USB_PRINTER is not set
1511# CONFIG_USB_WDM is not set
1512# CONFIG_USB_TMC is not set
1513
1514#
1515# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1516#
1517
1518#
1519# also be needed; see USB_STORAGE Help for more info
1520#
1521CONFIG_USB_STORAGE=y
1522# CONFIG_USB_STORAGE_DEBUG is not set
1523# CONFIG_USB_STORAGE_DATAFAB is not set
1524# CONFIG_USB_STORAGE_FREECOM is not set
1525# CONFIG_USB_STORAGE_ISD200 is not set
1526# CONFIG_USB_STORAGE_USBAT is not set
1527# CONFIG_USB_STORAGE_SDDR09 is not set
1528# CONFIG_USB_STORAGE_SDDR55 is not set
1529# CONFIG_USB_STORAGE_JUMPSHOT is not set
1530# CONFIG_USB_STORAGE_ALAUDA is not set
1531# CONFIG_USB_STORAGE_ONETOUCH is not set
1532# CONFIG_USB_STORAGE_KARMA is not set
1533# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1534# CONFIG_USB_LIBUSUAL is not set
1535
1536#
1537# USB Imaging devices
1538#
1539# CONFIG_USB_MDC800 is not set
1540# CONFIG_USB_MICROTEK is not set
1541
1542#
1543# USB port drivers
1544#
1545# CONFIG_USB_SERIAL is not set
1546
1547#
1548# USB Miscellaneous drivers
1549#
1550# CONFIG_USB_EMI62 is not set
1551# CONFIG_USB_EMI26 is not set
1552# CONFIG_USB_ADUTUX is not set
1553# CONFIG_USB_SEVSEG is not set
1554# CONFIG_USB_RIO500 is not set
1555# CONFIG_USB_LEGOTOWER is not set
1556# CONFIG_USB_LCD is not set
1557# CONFIG_USB_LED is not set
1558# CONFIG_USB_CYPRESS_CY7C63 is not set
1559# CONFIG_USB_CYTHERM is not set
1560# CONFIG_USB_IDMOUSE is not set
1561# CONFIG_USB_FTDI_ELAN is not set
1562# CONFIG_USB_APPLEDISPLAY is not set
1563# CONFIG_USB_SISUSBVGA is not set
1564# CONFIG_USB_LD is not set
1565# CONFIG_USB_TRANCEVIBRATOR is not set
1566# CONFIG_USB_IOWARRIOR is not set
1567# CONFIG_USB_TEST is not set
1568# CONFIG_USB_ISIGHTFW is not set
1569CONFIG_USB_GADGET=y
1570# CONFIG_USB_GADGET_DEBUG_FILES is not set
1571# CONFIG_USB_GADGET_DEBUG_FS is not set
1572CONFIG_USB_GADGET_VBUS_DRAW=2
1573CONFIG_USB_GADGET_SELECTED=y
1574# CONFIG_USB_GADGET_AT91 is not set
1575# CONFIG_USB_GADGET_ATMEL_USBA is not set
1576# CONFIG_USB_GADGET_FSL_USB2 is not set
1577# CONFIG_USB_GADGET_LH7A40X is not set
1578# CONFIG_USB_GADGET_OMAP is not set
1579# CONFIG_USB_GADGET_PXA25X is not set
1580# CONFIG_USB_GADGET_R8A66597 is not set
1581# CONFIG_USB_GADGET_PXA27X is not set
1582# CONFIG_USB_GADGET_S3C_HSOTG is not set
1583# CONFIG_USB_GADGET_IMX is not set
1584# CONFIG_USB_GADGET_S3C2410 is not set
1585# CONFIG_USB_GADGET_M66592 is not set
1586# CONFIG_USB_GADGET_AMD5536UDC is not set
1587# CONFIG_USB_GADGET_FSL_QE is not set
1588# CONFIG_USB_GADGET_CI13XXX is not set
1589# CONFIG_USB_GADGET_NET2280 is not set
1590# CONFIG_USB_GADGET_GOKU is not set
1591CONFIG_USB_GADGET_ARC=y
1592CONFIG_USB_ARC=y
1593# CONFIG_USB_GADGET_LANGWELL is not set
1594# CONFIG_USB_GADGET_DUMMY_HCD is not set
1595CONFIG_USB_GADGET_DUALSPEED=y
1596# CONFIG_USB_ZERO is not set
1597# CONFIG_USB_AUDIO is not set
1598CONFIG_USB_ETH=m
1599CONFIG_USB_ETH_RNDIS=y
1600# CONFIG_USB_ETH_EEM is not set
1601# CONFIG_USB_GADGETFS is not set
1602# CONFIG_USB_FUNCTIONFS is not set
1603CONFIG_USB_FILE_STORAGE=m
1604# CONFIG_FSL_UTP is not set
1605# CONFIG_USB_FILE_STORAGE_TEST is not set
1606# CONFIG_USB_MASS_STORAGE is not set
1607CONFIG_USB_G_SERIAL=m
1608# CONFIG_USB_MIDI_GADGET is not set
1609# CONFIG_USB_G_PRINTER is not set
1610# CONFIG_USB_CDC_COMPOSITE is not set
1611# CONFIG_USB_G_NOKIA is not set
1612# CONFIG_USB_G_MULTI is not set
1613# CONFIG_USB_G_HID is not set
1614# CONFIG_USB_G_WEBCAM is not set
1615
1616#
1617# OTG and related infrastructure
1618#
1619CONFIG_USB_OTG_UTILS=y
1620# CONFIG_USB_GPIO_VBUS is not set
1621# CONFIG_USB_ULPI is not set
1622# CONFIG_NOP_USB_XCEIV is not set
1623CONFIG_MXC_OTG=y
1624CONFIG_MMC=y
1625# CONFIG_MMC_DEBUG is not set
1626CONFIG_MMC_UNSAFE_RESUME=y
1627
1628#
1629# MMC/SD/SDIO Card Drivers
1630#
1631CONFIG_MMC_BLOCK=y
1632CONFIG_MMC_BLOCK_BOUNCE=y
1633# CONFIG_SDIO_UART is not set
1634# CONFIG_MMC_TEST is not set
1635
1636#
1637# MMC/SD/SDIO Host Controller Drivers
1638#
1639# CONFIG_MMC_SDHCI is not set
1640# CONFIG_MMC_SPI is not set
1641# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
1642CONFIG_MMC_MXS=y
1643# CONFIG_MEMSTICK is not set
1644CONFIG_NEW_LEDS=y
1645CONFIG_LEDS_CLASS=y
1646
1647#
1648# LED drivers
1649#
1650CONFIG_LEDS_MXS=y
1651# CONFIG_LEDS_PCA9532 is not set
1652# CONFIG_LEDS_GPIO is not set
1653# CONFIG_LEDS_LP3944 is not set
1654# CONFIG_LEDS_PCA955X is not set
1655# CONFIG_LEDS_DAC124S085 is not set
1656# CONFIG_LEDS_REGULATOR is not set
1657# CONFIG_LEDS_BD2802 is not set
1658# CONFIG_LEDS_LT3593 is not set
1659# CONFIG_LEDS_TRIGGERS is not set
1660# CONFIG_ACCESSIBILITY is not set
1661CONFIG_RTC_LIB=y
1662CONFIG_RTC_CLASS=y
1663CONFIG_RTC_HCTOSYS=y
1664CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1665# CONFIG_RTC_DEBUG is not set
1666
1667#
1668# RTC interfaces
1669#
1670CONFIG_RTC_INTF_SYSFS=y
1671CONFIG_RTC_INTF_PROC=y
1672CONFIG_RTC_INTF_DEV=y
1673# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
1674# CONFIG_RTC_DRV_TEST is not set
1675
1676#
1677# I2C RTC drivers
1678#
1679# CONFIG_RTC_DRV_DS1307 is not set
1680# CONFIG_RTC_DRV_DS1374 is not set
1681# CONFIG_RTC_DRV_DS1672 is not set
1682# CONFIG_RTC_DRV_MAX6900 is not set
1683# CONFIG_RTC_DRV_RS5C372 is not set
1684# CONFIG_RTC_DRV_ISL1208 is not set
1685# CONFIG_RTC_DRV_X1205 is not set
1686# CONFIG_RTC_DRV_PCF8563 is not set
1687# CONFIG_RTC_DRV_PCF8583 is not set
1688# CONFIG_RTC_DRV_M41T80 is not set
1689# CONFIG_RTC_DRV_BQ32K is not set
1690# CONFIG_RTC_DRV_S35390A is not set
1691# CONFIG_RTC_DRV_FM3130 is not set
1692# CONFIG_RTC_DRV_RX8581 is not set
1693# CONFIG_RTC_DRV_RX8025 is not set
1694
1695#
1696# SPI RTC drivers
1697#
1698# CONFIG_RTC_DRV_M41T94 is not set
1699# CONFIG_RTC_DRV_DS1305 is not set
1700# CONFIG_RTC_DRV_DS1390 is not set
1701# CONFIG_RTC_DRV_MAX6902 is not set
1702# CONFIG_RTC_DRV_R9701 is not set
1703# CONFIG_RTC_DRV_RS5C348 is not set
1704# CONFIG_RTC_DRV_DS3234 is not set
1705# CONFIG_RTC_DRV_PCF2123 is not set
1706
1707#
1708# Platform RTC drivers
1709#
1710# CONFIG_RTC_DRV_CMOS is not set
1711# CONFIG_RTC_DRV_DS1286 is not set
1712# CONFIG_RTC_DRV_DS1511 is not set
1713# CONFIG_RTC_DRV_DS1553 is not set
1714# CONFIG_RTC_DRV_DS1742 is not set
1715# CONFIG_RTC_DRV_STK17TA8 is not set
1716# CONFIG_RTC_DRV_M48T86 is not set
1717# CONFIG_RTC_DRV_M48T35 is not set
1718# CONFIG_RTC_DRV_M48T59 is not set
1719# CONFIG_RTC_DRV_MSM6242 is not set
1720# CONFIG_RTC_DRV_BQ4802 is not set
1721# CONFIG_RTC_DRV_RP5C01 is not set
1722# CONFIG_RTC_DRV_V3020 is not set
1723
1724#
1725# on-CPU RTC drivers
1726#
1727CONFIG_RTC_DRV_MXS=y
1728CONFIG_DMADEVICES=y
1729# CONFIG_DMADEVICES_DEBUG is not set
1730
1731#
1732# DMA Devices
1733#
1734# CONFIG_MXC_PXP is not set
1735# CONFIG_TIMB_DMA is not set
1736# CONFIG_AUXDISPLAY is not set
1737# CONFIG_UIO is not set
1738CONFIG_STAGING=y
1739# CONFIG_STAGING_EXCLUDE_BUILD is not set
1740# CONFIG_VIDEO_TM6000 is not set
1741# CONFIG_USB_IP_COMMON is not set
1742# CONFIG_PRISM2_USB is not set
1743# CONFIG_ECHO is not set
1744# CONFIG_RT2870 is not set
1745# CONFIG_COMEDI is not set
1746# CONFIG_ASUS_OLED is not set
1747# CONFIG_TRANZPORT is not set
1748# CONFIG_POHMELFS is not set
1749# CONFIG_LINE6_USB is not set
1750# CONFIG_VT6656 is not set
1751# CONFIG_FB_UDL is not set
1752
1753#
1754# RAR Register Driver
1755#
1756# CONFIG_IIO is not set
1757# CONFIG_RAMZSWAP is not set
1758# CONFIG_BATMAN_ADV is not set
1759# CONFIG_FB_SM7XX is not set
1760
1761#
1762# Texas Instruments shared transport line discipline
1763#
1764# CONFIG_TI_ST is not set
1765# CONFIG_ADIS16255 is not set
1766CONFIG_ATH6K_LEGACY=m
1767CONFIG_AR600x_SD31_XXX=y
1768# CONFIG_AR600x_WB31_XXX is not set
1769# CONFIG_AR600x_SD32_XXX is not set
1770# CONFIG_AR600x_CUSTOM_XXX is not set
1771# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
1772# CONFIG_ATH6KL_HCI_BRIDGE is not set
1773# CONFIG_ATH6KL_CFG80211 is not set
1774# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
1775# CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER is not set
1776# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
1777# CONFIG_ATH6KL_DEBUG is not set
1778
1779#
1780# File systems
1781#
1782CONFIG_EXT2_FS=y
1783CONFIG_EXT2_FS_XATTR=y
1784CONFIG_EXT2_FS_POSIX_ACL=y
1785CONFIG_EXT2_FS_SECURITY=y
1786# CONFIG_EXT2_FS_XIP is not set
1787CONFIG_EXT3_FS=y
1788CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
1789CONFIG_EXT3_FS_XATTR=y
1790CONFIG_EXT3_FS_POSIX_ACL=y
1791CONFIG_EXT3_FS_SECURITY=y
1792# CONFIG_EXT4_FS is not set
1793CONFIG_JBD=y
1794# CONFIG_JBD_DEBUG is not set
1795CONFIG_FS_MBCACHE=y
1796# CONFIG_REISERFS_FS is not set
1797# CONFIG_JFS_FS is not set
1798CONFIG_FS_POSIX_ACL=y
1799# CONFIG_XFS_FS is not set
1800# CONFIG_GFS2_FS is not set
1801# CONFIG_OCFS2_FS is not set
1802# CONFIG_BTRFS_FS is not set
1803# CONFIG_NILFS2_FS is not set
1804CONFIG_FILE_LOCKING=y
1805CONFIG_FSNOTIFY=y
1806CONFIG_DNOTIFY=y
1807# CONFIG_INOTIFY is not set
1808CONFIG_INOTIFY_USER=y
1809CONFIG_QUOTA=y
1810# CONFIG_QUOTA_NETLINK_INTERFACE is not set
1811CONFIG_PRINT_QUOTA_WARNING=y
1812# CONFIG_QUOTA_DEBUG is not set
1813CONFIG_QUOTA_TREE=y
1814# CONFIG_QFMT_V1 is not set
1815CONFIG_QFMT_V2=y
1816CONFIG_QUOTACTL=y
1817# CONFIG_AUTOFS_FS is not set
1818CONFIG_AUTOFS4_FS=m
1819# CONFIG_FUSE_FS is not set
1820
1821#
1822# Caches
1823#
1824# CONFIG_FSCACHE is not set
1825
1826#
1827# CD-ROM/DVD Filesystems
1828#
1829CONFIG_ISO9660_FS=y
1830CONFIG_JOLIET=y
1831CONFIG_ZISOFS=y
1832CONFIG_UDF_FS=m
1833CONFIG_UDF_NLS=y
1834
1835#
1836# DOS/FAT/NT Filesystems
1837#
1838CONFIG_FAT_FS=y
1839CONFIG_MSDOS_FS=y
1840CONFIG_VFAT_FS=y
1841CONFIG_FAT_DEFAULT_CODEPAGE=437
1842CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
1843# CONFIG_NTFS_FS is not set
1844
1845#
1846# Pseudo filesystems
1847#
1848CONFIG_PROC_FS=y
1849CONFIG_PROC_SYSCTL=y
1850CONFIG_PROC_PAGE_MONITOR=y
1851CONFIG_SYSFS=y
1852CONFIG_TMPFS=y
1853# CONFIG_TMPFS_POSIX_ACL is not set
1854# CONFIG_HUGETLB_PAGE is not set
1855# CONFIG_CONFIGFS_FS is not set
1856CONFIG_MISC_FILESYSTEMS=y
1857# CONFIG_ADFS_FS is not set
1858# CONFIG_AFFS_FS is not set
1859# CONFIG_ECRYPT_FS is not set
1860CONFIG_HFS_FS=m
1861CONFIG_HFSPLUS_FS=m
1862# CONFIG_BEFS_FS is not set
1863# CONFIG_BFS_FS is not set
1864# CONFIG_EFS_FS is not set
1865CONFIG_JFFS2_FS=y
1866CONFIG_JFFS2_FS_DEBUG=0
1867CONFIG_JFFS2_FS_WRITEBUFFER=y
1868# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
1869# CONFIG_JFFS2_SUMMARY is not set
1870# CONFIG_JFFS2_FS_XATTR is not set
1871# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
1872CONFIG_JFFS2_ZLIB=y
1873# CONFIG_JFFS2_LZO is not set
1874CONFIG_JFFS2_RTIME=y
1875# CONFIG_JFFS2_RUBIN is not set
1876CONFIG_UBIFS_FS=y
1877# CONFIG_UBIFS_FS_XATTR is not set
1878# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
1879CONFIG_UBIFS_FS_LZO=y
1880CONFIG_UBIFS_FS_ZLIB=y
1881# CONFIG_UBIFS_FS_DEBUG is not set
1882# CONFIG_LOGFS is not set
1883CONFIG_CRAMFS=m
1884# CONFIG_SQUASHFS is not set
1885CONFIG_VXFS_FS=m
1886# CONFIG_MINIX_FS is not set
1887# CONFIG_OMFS_FS is not set
1888# CONFIG_HPFS_FS is not set
1889# CONFIG_QNX4FS_FS is not set
1890# CONFIG_ROMFS_FS is not set
1891# CONFIG_SYSV_FS is not set
1892# CONFIG_UFS_FS is not set
1893CONFIG_NETWORK_FILESYSTEMS=y
1894CONFIG_NFS_FS=y
1895CONFIG_NFS_V3=y
1896# CONFIG_NFS_V3_ACL is not set
1897CONFIG_NFS_V4=y
1898# CONFIG_NFS_V4_1 is not set
1899CONFIG_ROOT_NFS=y
1900# CONFIG_NFSD is not set
1901CONFIG_LOCKD=y
1902CONFIG_LOCKD_V4=y
1903CONFIG_NFS_COMMON=y
1904CONFIG_SUNRPC=y
1905CONFIG_SUNRPC_GSS=y
1906CONFIG_RPCSEC_GSS_KRB5=y
1907# CONFIG_RPCSEC_GSS_SPKM3 is not set
1908# CONFIG_SMB_FS is not set
1909# CONFIG_CEPH_FS is not set
1910# CONFIG_CIFS is not set
1911# CONFIG_NCP_FS is not set
1912# CONFIG_CODA_FS is not set
1913# CONFIG_AFS_FS is not set
1914
1915#
1916# Partition Types
1917#
1918CONFIG_PARTITION_ADVANCED=y
1919# CONFIG_ACORN_PARTITION is not set
1920CONFIG_OSF_PARTITION=y
1921# CONFIG_AMIGA_PARTITION is not set
1922# CONFIG_ATARI_PARTITION is not set
1923CONFIG_MAC_PARTITION=y
1924CONFIG_MSDOS_PARTITION=y
1925CONFIG_BSD_DISKLABEL=y
1926CONFIG_MINIX_SUBPARTITION=y
1927CONFIG_SOLARIS_X86_PARTITION=y
1928CONFIG_UNIXWARE_DISKLABEL=y
1929# CONFIG_LDM_PARTITION is not set
1930CONFIG_SGI_PARTITION=y
1931# CONFIG_ULTRIX_PARTITION is not set
1932CONFIG_SUN_PARTITION=y
1933# CONFIG_KARMA_PARTITION is not set
1934CONFIG_EFI_PARTITION=y
1935# CONFIG_SYSV68_PARTITION is not set
1936CONFIG_NLS=y
1937CONFIG_NLS_DEFAULT="utf8"
1938CONFIG_NLS_CODEPAGE_437=y
1939CONFIG_NLS_CODEPAGE_737=m
1940CONFIG_NLS_CODEPAGE_775=m
1941CONFIG_NLS_CODEPAGE_850=m
1942CONFIG_NLS_CODEPAGE_852=m
1943CONFIG_NLS_CODEPAGE_855=m
1944CONFIG_NLS_CODEPAGE_857=m
1945CONFIG_NLS_CODEPAGE_860=m
1946CONFIG_NLS_CODEPAGE_861=m
1947CONFIG_NLS_CODEPAGE_862=m
1948CONFIG_NLS_CODEPAGE_863=m
1949CONFIG_NLS_CODEPAGE_864=m
1950CONFIG_NLS_CODEPAGE_865=m
1951CONFIG_NLS_CODEPAGE_866=m
1952CONFIG_NLS_CODEPAGE_869=m
1953CONFIG_NLS_CODEPAGE_936=m
1954CONFIG_NLS_CODEPAGE_950=m
1955CONFIG_NLS_CODEPAGE_932=m
1956CONFIG_NLS_CODEPAGE_949=m
1957CONFIG_NLS_CODEPAGE_874=m
1958CONFIG_NLS_ISO8859_8=m
1959CONFIG_NLS_CODEPAGE_1250=m
1960CONFIG_NLS_CODEPAGE_1251=m
1961CONFIG_NLS_ASCII=y
1962CONFIG_NLS_ISO8859_1=m
1963CONFIG_NLS_ISO8859_2=m
1964CONFIG_NLS_ISO8859_3=m
1965CONFIG_NLS_ISO8859_4=m
1966CONFIG_NLS_ISO8859_5=m
1967CONFIG_NLS_ISO8859_6=m
1968CONFIG_NLS_ISO8859_7=m
1969CONFIG_NLS_ISO8859_9=m
1970CONFIG_NLS_ISO8859_13=m
1971CONFIG_NLS_ISO8859_14=m
1972CONFIG_NLS_ISO8859_15=m
1973CONFIG_NLS_KOI8_R=m
1974CONFIG_NLS_KOI8_U=m
1975CONFIG_NLS_UTF8=m
1976# CONFIG_DLM is not set
1977
1978#
1979# Kernel hacking
1980#
1981# CONFIG_PRINTK_TIME is not set
1982# CONFIG_ENABLE_WARN_DEPRECATED is not set
1983# CONFIG_ENABLE_MUST_CHECK is not set
1984CONFIG_FRAME_WARN=1024
1985# CONFIG_MAGIC_SYSRQ is not set
1986# CONFIG_STRIP_ASM_SYMS is not set
1987# CONFIG_UNUSED_SYMBOLS is not set
1988CONFIG_DEBUG_FS=y
1989# CONFIG_HEADERS_CHECK is not set
1990# CONFIG_DEBUG_KERNEL is not set
1991# CONFIG_SLUB_DEBUG_ON is not set
1992# CONFIG_SLUB_STATS is not set
1993CONFIG_DEBUG_BUGVERBOSE=y
1994CONFIG_DEBUG_MEMORY_INIT=y
1995CONFIG_FRAME_POINTER=y
1996# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1997# CONFIG_LKDTM is not set
1998# CONFIG_LATENCYTOP is not set
1999# CONFIG_SYSCTL_SYSCALL_CHECK is not set
2000CONFIG_HAVE_FUNCTION_TRACER=y
2001CONFIG_RING_BUFFER=y
2002CONFIG_RING_BUFFER_ALLOW_SWAP=y
2003CONFIG_TRACING_SUPPORT=y
2004CONFIG_FTRACE=y
2005# CONFIG_FUNCTION_TRACER is not set
2006# CONFIG_IRQSOFF_TRACER is not set
2007# CONFIG_PREEMPT_TRACER is not set
2008# CONFIG_SCHED_TRACER is not set
2009# CONFIG_ENABLE_DEFAULT_TRACERS is not set
2010# CONFIG_BOOT_TRACER is not set
2011CONFIG_BRANCH_PROFILE_NONE=y
2012# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
2013# CONFIG_PROFILE_ALL_BRANCHES is not set
2014# CONFIG_STACK_TRACER is not set
2015# CONFIG_KMEMTRACE is not set
2016# CONFIG_WORKQUEUE_TRACER is not set
2017# CONFIG_BLK_DEV_IO_TRACE is not set
2018# CONFIG_RING_BUFFER_BENCHMARK is not set
2019# CONFIG_DYNAMIC_DEBUG is not set
2020# CONFIG_ATOMIC64_SELFTEST is not set
2021# CONFIG_SAMPLES is not set
2022CONFIG_HAVE_ARCH_KGDB=y
2023# CONFIG_ARM_UNWIND is not set
2024# CONFIG_DEBUG_USER is not set
2025# CONFIG_OC_ETM is not set
2026
2027#
2028# Security options
2029#
2030CONFIG_KEYS=y
2031CONFIG_KEYS_DEBUG_PROC_KEYS=y
2032CONFIG_SECURITY=y
2033# CONFIG_SECURITYFS is not set
2034CONFIG_SECURITY_NETWORK=y
2035# CONFIG_SECURITY_NETWORK_XFRM is not set
2036# CONFIG_SECURITY_PATH is not set
2037CONFIG_LSM_MMAP_MIN_ADDR=65536
2038CONFIG_SECURITY_SELINUX=y
2039CONFIG_SECURITY_SELINUX_BOOTPARAM=y
2040CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
2041CONFIG_SECURITY_SELINUX_DISABLE=y
2042CONFIG_SECURITY_SELINUX_DEVELOP=y
2043CONFIG_SECURITY_SELINUX_AVC_STATS=y
2044CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
2045# CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set
2046# CONFIG_SECURITY_TOMOYO is not set
2047# CONFIG_IMA is not set
2048CONFIG_DEFAULT_SECURITY_SELINUX=y
2049# CONFIG_DEFAULT_SECURITY_SMACK is not set
2050# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
2051# CONFIG_DEFAULT_SECURITY_DAC is not set
2052CONFIG_DEFAULT_SECURITY="selinux"
2053CONFIG_CRYPTO=y
2054
2055#
2056# Crypto core or helper
2057#
2058CONFIG_CRYPTO_ALGAPI=y
2059CONFIG_CRYPTO_ALGAPI2=y
2060CONFIG_CRYPTO_AEAD2=y
2061CONFIG_CRYPTO_BLKCIPHER=y
2062CONFIG_CRYPTO_BLKCIPHER2=y
2063CONFIG_CRYPTO_HASH=y
2064CONFIG_CRYPTO_HASH2=y
2065CONFIG_CRYPTO_RNG2=y
2066CONFIG_CRYPTO_PCOMP=y
2067CONFIG_CRYPTO_MANAGER=y
2068CONFIG_CRYPTO_MANAGER2=y
2069CONFIG_CRYPTO_MANAGER_TESTS=y
2070# CONFIG_CRYPTO_GF128MUL is not set
2071# CONFIG_CRYPTO_NULL is not set
2072CONFIG_CRYPTO_WORKQUEUE=y
2073# CONFIG_CRYPTO_CRYPTD is not set
2074# CONFIG_CRYPTO_AUTHENC is not set
2075CONFIG_CRYPTO_TEST=m
2076CONFIG_CRYPTO_CRYPTODEV=y
2077
2078#
2079# Authenticated Encryption with Associated Data
2080#
2081# CONFIG_CRYPTO_CCM is not set
2082# CONFIG_CRYPTO_GCM is not set
2083# CONFIG_CRYPTO_SEQIV is not set
2084
2085#
2086# Block modes
2087#
2088CONFIG_CRYPTO_CBC=y
2089# CONFIG_CRYPTO_CTR is not set
2090# CONFIG_CRYPTO_CTS is not set
2091CONFIG_CRYPTO_ECB=y
2092# CONFIG_CRYPTO_LRW is not set
2093# CONFIG_CRYPTO_PCBC is not set
2094# CONFIG_CRYPTO_XTS is not set
2095
2096#
2097# Hash modes
2098#
2099CONFIG_CRYPTO_HMAC=y
2100# CONFIG_CRYPTO_XCBC is not set
2101# CONFIG_CRYPTO_VMAC is not set
2102
2103#
2104# Digest
2105#
2106CONFIG_CRYPTO_CRC32C=m
2107# CONFIG_CRYPTO_GHASH is not set
2108# CONFIG_CRYPTO_MD4 is not set
2109CONFIG_CRYPTO_MD5=y
2110# CONFIG_CRYPTO_MICHAEL_MIC is not set
2111# CONFIG_CRYPTO_RMD128 is not set
2112# CONFIG_CRYPTO_RMD160 is not set
2113# CONFIG_CRYPTO_RMD256 is not set
2114# CONFIG_CRYPTO_RMD320 is not set
2115CONFIG_CRYPTO_SHA1=m
2116CONFIG_CRYPTO_SHA256=m
2117# CONFIG_CRYPTO_SHA512 is not set
2118# CONFIG_CRYPTO_TGR192 is not set
2119# CONFIG_CRYPTO_WP512 is not set
2120
2121#
2122# Ciphers
2123#
2124CONFIG_CRYPTO_AES=y
2125# CONFIG_CRYPTO_ANUBIS is not set
2126# CONFIG_CRYPTO_ARC4 is not set
2127# CONFIG_CRYPTO_BLOWFISH is not set
2128# CONFIG_CRYPTO_CAMELLIA is not set
2129# CONFIG_CRYPTO_CAST5 is not set
2130# CONFIG_CRYPTO_CAST6 is not set
2131CONFIG_CRYPTO_DES=y
2132# CONFIG_CRYPTO_FCRYPT is not set
2133# CONFIG_CRYPTO_KHAZAD is not set
2134# CONFIG_CRYPTO_SALSA20 is not set
2135# CONFIG_CRYPTO_SEED is not set
2136# CONFIG_CRYPTO_SERPENT is not set
2137# CONFIG_CRYPTO_TEA is not set
2138# CONFIG_CRYPTO_TWOFISH is not set
2139
2140#
2141# Compression
2142#
2143CONFIG_CRYPTO_DEFLATE=y
2144# CONFIG_CRYPTO_ZLIB is not set
2145CONFIG_CRYPTO_LZO=y
2146
2147#
2148# Random Number Generation
2149#
2150# CONFIG_CRYPTO_ANSI_CPRNG is not set
2151CONFIG_CRYPTO_HW=y
2152CONFIG_CRYPTO_DEV_DCP=y
2153# CONFIG_BINARY_PRINTF is not set
2154
2155#
2156# Library routines
2157#
2158CONFIG_BITREVERSE=y
2159CONFIG_GENERIC_FIND_LAST_BIT=y
2160CONFIG_CRC_CCITT=m
2161CONFIG_CRC16=y
2162# CONFIG_CRC_T10DIF is not set
2163CONFIG_CRC_ITU_T=m
2164CONFIG_CRC32=y
2165# CONFIG_CRC7 is not set
2166CONFIG_LIBCRC32C=m
2167CONFIG_AUDIT_GENERIC=y
2168CONFIG_ZLIB_INFLATE=y
2169CONFIG_ZLIB_DEFLATE=y
2170CONFIG_LZO_COMPRESS=y
2171CONFIG_LZO_DECOMPRESS=y
2172CONFIG_DECOMPRESS_GZIP=y
2173CONFIG_DECOMPRESS_BZIP2=y
2174CONFIG_DECOMPRESS_LZMA=y
2175CONFIG_DECOMPRESS_LZO=y
2176CONFIG_GENERIC_ALLOCATOR=y
2177CONFIG_HAS_IOMEM=y
2178CONFIG_HAS_IOPORT=y
2179CONFIG_HAS_DMA=y
2180CONFIG_NLATTR=y
2181CONFIG_GENERIC_ATOMIC64=y
diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig b/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig
new file mode 100644
index 0000000..213a06d
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-2.6.35.3/mx5/defconfig
@@ -0,0 +1,2586 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.35.3
4# Tue Jul 2 16:23:28 2013
5#
6CONFIG_ARM=y
7CONFIG_HAVE_PWM=y
8CONFIG_SYS_SUPPORTS_APM_EMULATION=y
9CONFIG_GENERIC_GPIO=y
10CONFIG_GENERIC_TIME=y
11# CONFIG_ARCH_USES_GETTIMEOFFSET is not set
12CONFIG_GENERIC_CLOCKEVENTS=y
13CONFIG_HAVE_PROC_CPU=y
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_STACKTRACE_SUPPORT=y
16CONFIG_HAVE_LATENCYTOP_SUPPORT=y
17CONFIG_LOCKDEP_SUPPORT=y
18CONFIG_TRACE_IRQFLAGS_SUPPORT=y
19CONFIG_HARDIRQS_SW_RESEND=y
20CONFIG_GENERIC_IRQ_PROBE=y
21CONFIG_RWSEM_GENERIC_SPINLOCK=y
22CONFIG_ARCH_HAS_CPUFREQ=y
23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ZONE_DMA=y
26CONFIG_NEED_DMA_MAP_STATE=y
27CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
28CONFIG_ARM_L1_CACHE_SHIFT_6=y
29CONFIG_VECTORS_BASE=0xffff0000
30CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
31CONFIG_CONSTRUCTORS=y
32
33#
34# General setup
35#
36CONFIG_EXPERIMENTAL=y
37CONFIG_BROKEN_ON_SMP=y
38CONFIG_LOCK_KERNEL=y
39CONFIG_INIT_ENV_ARG_LIMIT=32
40CONFIG_CROSS_COMPILE=""
41CONFIG_LOCALVERSION=""
42CONFIG_LOCALVERSION_AUTO=y
43CONFIG_HAVE_KERNEL_GZIP=y
44CONFIG_HAVE_KERNEL_LZMA=y
45CONFIG_HAVE_KERNEL_LZO=y
46CONFIG_KERNEL_GZIP=y
47# CONFIG_KERNEL_BZIP2 is not set
48# CONFIG_KERNEL_LZMA is not set
49# CONFIG_KERNEL_LZO is not set
50CONFIG_SWAP=y
51CONFIG_SYSVIPC=y
52CONFIG_SYSVIPC_SYSCTL=y
53# CONFIG_POSIX_MQUEUE is not set
54# CONFIG_BSD_PROCESS_ACCT is not set
55CONFIG_TASKSTATS=y
56CONFIG_TASK_DELAY_ACCT=y
57CONFIG_TASK_XACCT=y
58CONFIG_TASK_IO_ACCOUNTING=y
59# CONFIG_AUDIT is not set
60
61#
62# RCU Subsystem
63#
64CONFIG_TREE_RCU=y
65# CONFIG_TREE_PREEMPT_RCU is not set
66# CONFIG_TINY_RCU is not set
67# CONFIG_RCU_TRACE is not set
68CONFIG_RCU_FANOUT=32
69# CONFIG_RCU_FANOUT_EXACT is not set
70# CONFIG_TREE_RCU_TRACE is not set
71CONFIG_IKCONFIG=y
72CONFIG_IKCONFIG_PROC=y
73CONFIG_LOG_BUF_SHIFT=14
74CONFIG_CGROUPS=y
75# CONFIG_CGROUP_DEBUG is not set
76CONFIG_CGROUP_NS=y
77CONFIG_CGROUP_FREEZER=y
78CONFIG_CGROUP_DEVICE=y
79CONFIG_CPUSETS=y
80CONFIG_PROC_PID_CPUSET=y
81CONFIG_CGROUP_CPUACCT=y
82CONFIG_RESOURCE_COUNTERS=y
83# CONFIG_CGROUP_MEM_RES_CTLR is not set
84CONFIG_CGROUP_SCHED=y
85CONFIG_FAIR_GROUP_SCHED=y
86CONFIG_RT_GROUP_SCHED=y
87CONFIG_BLK_CGROUP=y
88# CONFIG_DEBUG_BLK_CGROUP is not set
89# CONFIG_SYSFS_DEPRECATED_V2 is not set
90# CONFIG_RELAY is not set
91CONFIG_NAMESPACES=y
92CONFIG_UTS_NS=y
93CONFIG_IPC_NS=y
94CONFIG_USER_NS=y
95CONFIG_PID_NS=y
96CONFIG_NET_NS=y
97# CONFIG_BLK_DEV_INITRD is not set
98CONFIG_CC_OPTIMIZE_FOR_SIZE=y
99CONFIG_SYSCTL=y
100CONFIG_ANON_INODES=y
101CONFIG_EMBEDDED=y
102CONFIG_UID16=y
103CONFIG_SYSCTL_SYSCALL=y
104CONFIG_KALLSYMS=y
105# CONFIG_KALLSYMS_EXTRA_PASS is not set
106CONFIG_HOTPLUG=y
107CONFIG_PRINTK=y
108CONFIG_BUG=y
109CONFIG_ELF_CORE=y
110CONFIG_BASE_FULL=y
111CONFIG_FUTEX=y
112CONFIG_EPOLL=y
113CONFIG_SIGNALFD=y
114CONFIG_TIMERFD=y
115CONFIG_EVENTFD=y
116CONFIG_SHMEM=y
117CONFIG_AIO=y
118CONFIG_HAVE_PERF_EVENTS=y
119CONFIG_PERF_USE_VMALLOC=y
120
121#
122# Kernel Performance Events And Counters
123#
124CONFIG_PERF_EVENTS=y
125# CONFIG_PERF_COUNTERS is not set
126CONFIG_VM_EVENT_COUNTERS=y
127CONFIG_SLUB_DEBUG=y
128CONFIG_COMPAT_BRK=y
129# CONFIG_SLAB is not set
130CONFIG_SLUB=y
131# CONFIG_SLOB is not set
132# CONFIG_PROFILING is not set
133CONFIG_HAVE_OPROFILE=y
134CONFIG_KPROBES=y
135CONFIG_KRETPROBES=y
136CONFIG_HAVE_KPROBES=y
137CONFIG_HAVE_KRETPROBES=y
138CONFIG_HAVE_CLK=y
139
140#
141# GCOV-based kernel profiling
142#
143# CONFIG_SLOW_WORK is not set
144CONFIG_HAVE_GENERIC_DMA_COHERENT=y
145CONFIG_SLABINFO=y
146CONFIG_RT_MUTEXES=y
147CONFIG_BASE_SMALL=0
148CONFIG_MODULES=y
149# CONFIG_MODULE_FORCE_LOAD is not set
150CONFIG_MODULE_UNLOAD=y
151CONFIG_MODULE_FORCE_UNLOAD=y
152CONFIG_MODVERSIONS=y
153# CONFIG_MODULE_SRCVERSION_ALL is not set
154CONFIG_BLOCK=y
155CONFIG_LBDAF=y
156# CONFIG_BLK_DEV_BSG is not set
157# CONFIG_BLK_DEV_INTEGRITY is not set
158
159#
160# IO Schedulers
161#
162CONFIG_IOSCHED_NOOP=y
163CONFIG_IOSCHED_DEADLINE=y
164CONFIG_IOSCHED_CFQ=y
165# CONFIG_CFQ_GROUP_IOSCHED is not set
166# CONFIG_DEFAULT_DEADLINE is not set
167CONFIG_DEFAULT_CFQ=y
168# CONFIG_DEFAULT_NOOP is not set
169CONFIG_DEFAULT_IOSCHED="cfq"
170# CONFIG_INLINE_SPIN_TRYLOCK is not set
171# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
172# CONFIG_INLINE_SPIN_LOCK is not set
173# CONFIG_INLINE_SPIN_LOCK_BH is not set
174# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
175# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
176# CONFIG_INLINE_SPIN_UNLOCK is not set
177# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
178# CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set
179# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
180# CONFIG_INLINE_READ_TRYLOCK is not set
181# CONFIG_INLINE_READ_LOCK is not set
182# CONFIG_INLINE_READ_LOCK_BH is not set
183# CONFIG_INLINE_READ_LOCK_IRQ is not set
184# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
185# CONFIG_INLINE_READ_UNLOCK is not set
186# CONFIG_INLINE_READ_UNLOCK_BH is not set
187# CONFIG_INLINE_READ_UNLOCK_IRQ is not set
188# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
189# CONFIG_INLINE_WRITE_TRYLOCK is not set
190# CONFIG_INLINE_WRITE_LOCK is not set
191# CONFIG_INLINE_WRITE_LOCK_BH is not set
192# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
193# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
194# CONFIG_INLINE_WRITE_UNLOCK is not set
195# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
196# CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set
197# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
198# CONFIG_MUTEX_SPIN_ON_OWNER is not set
199CONFIG_FREEZER=y
200
201#
202# System Type
203#
204CONFIG_MMU=y
205# CONFIG_ARCH_AAEC2000 is not set
206# CONFIG_ARCH_INTEGRATOR is not set
207# CONFIG_ARCH_REALVIEW is not set
208# CONFIG_ARCH_VERSATILE is not set
209# CONFIG_ARCH_VEXPRESS is not set
210# CONFIG_ARCH_AT91 is not set
211# CONFIG_ARCH_BCMRING is not set
212# CONFIG_ARCH_CLPS711X is not set
213# CONFIG_ARCH_CNS3XXX is not set
214# CONFIG_ARCH_GEMINI is not set
215# CONFIG_ARCH_EBSA110 is not set
216# CONFIG_ARCH_EP93XX is not set
217# CONFIG_ARCH_FOOTBRIDGE is not set
218CONFIG_ARCH_MXC=y
219# CONFIG_ARCH_STMP3XXX is not set
220# CONFIG_ARCH_MXS is not set
221# CONFIG_ARCH_NETX is not set
222# CONFIG_ARCH_H720X is not set
223# CONFIG_ARCH_IOP13XX is not set
224# CONFIG_ARCH_IOP32X is not set
225# CONFIG_ARCH_IOP33X is not set
226# CONFIG_ARCH_IXP23XX is not set
227# CONFIG_ARCH_IXP2000 is not set
228# CONFIG_ARCH_IXP4XX is not set
229# CONFIG_ARCH_L7200 is not set
230# CONFIG_ARCH_DOVE is not set
231# CONFIG_ARCH_KIRKWOOD is not set
232# CONFIG_ARCH_LOKI is not set
233# CONFIG_ARCH_MV78XX0 is not set
234# CONFIG_ARCH_ORION5X is not set
235# CONFIG_ARCH_MMP is not set
236# CONFIG_ARCH_KS8695 is not set
237# CONFIG_ARCH_NS9XXX is not set
238# CONFIG_ARCH_W90X900 is not set
239# CONFIG_ARCH_NUC93X is not set
240# CONFIG_ARCH_PNX4008 is not set
241# CONFIG_ARCH_PXA is not set
242# CONFIG_ARCH_MSM is not set
243# CONFIG_ARCH_SHMOBILE is not set
244# CONFIG_ARCH_RPC is not set
245# CONFIG_ARCH_SA1100 is not set
246# CONFIG_ARCH_S3C2410 is not set
247# CONFIG_ARCH_S3C64XX is not set
248# CONFIG_ARCH_S5P6440 is not set
249# CONFIG_ARCH_S5P6442 is not set
250# CONFIG_ARCH_S5PC100 is not set
251# CONFIG_ARCH_S5PV210 is not set
252# CONFIG_ARCH_SHARK is not set
253# CONFIG_ARCH_LH7A40X is not set
254# CONFIG_ARCH_U300 is not set
255# CONFIG_ARCH_U8500 is not set
256# CONFIG_ARCH_NOMADIK is not set
257# CONFIG_ARCH_DAVINCI is not set
258# CONFIG_ARCH_OMAP is not set
259# CONFIG_PLAT_SPEAR is not set
260
261#
262# Freescale MXC Implementations
263#
264# CONFIG_ARCH_MX1 is not set
265# CONFIG_ARCH_MX2 is not set
266# CONFIG_ARCH_MX25 is not set
267# CONFIG_ARCH_MX3 is not set
268# CONFIG_ARCH_MX37 is not set
269# CONFIG_ARCH_MXC91231 is not set
270CONFIG_ARCH_MX5=y
271CONFIG_MXC_SDMA_API=y
272CONFIG_SDMA_IRAM=y
273CONFIG_ARCH_MX51=y
274CONFIG_ARCH_MX53=y
275CONFIG_ARCH_MX50=y
276CONFIG_FORCE_MAX_ZONEORDER=13
277CONFIG_MX5_MULTI_ARCH=y
278CONFIG_MACH_MX51_3DS=y
279CONFIG_MACH_MX51_BABBAGE=y
280CONFIG_MACH_MX53_EVK=y
281CONFIG_MACH_MX53_ARD=y
282CONFIG_MACH_MX53_SMD=y
283CONFIG_MACH_MX53_LOCO=y
284CONFIG_MACH_MX50_ARM2=y
285CONFIG_MACH_MX50_RDP=y
286
287#
288# MX5x Options:
289#
290CONFIG_ARCH_MXC_HAS_NFC_V3=y
291CONFIG_ARCH_MXC_HAS_NFC_V3_2=y
292CONFIG_MXC_BLUETOOTH_RFKILL=y
293CONFIG_IRAM_ALLOC=y
294CONFIG_DMA_ZONE_SIZE=112
295CONFIG_ISP1504_MXC=y
296CONFIG_UTMI_MXC=y
297# CONFIG_MXC_IRQ_PRIOR is not set
298CONFIG_MXC_TZIC=y
299CONFIG_MXC_PWM=y
300# CONFIG_MXC_DEBUG_BOARD is not set
301CONFIG_ARCH_HAS_RNGC=y
302CONFIG_ARCH_MXC_IOMUX_V3=y
303CONFIG_MXC_DVFS_PER=y
304CONFIG_MXC_ZQ_CALIBRATION=y
305
306#
307# Processor Type
308#
309CONFIG_CPU_32v6K=y
310CONFIG_CPU_V7=y
311CONFIG_CPU_32v7=y
312CONFIG_CPU_ABRT_EV7=y
313CONFIG_CPU_PABRT_V7=y
314CONFIG_CPU_CACHE_V7=y
315CONFIG_CPU_CACHE_VIPT=y
316CONFIG_CPU_COPY_V6=y
317CONFIG_CPU_TLB_V7=y
318CONFIG_CPU_HAS_ASID=y
319CONFIG_CPU_CP15=y
320CONFIG_CPU_CP15_MMU=y
321
322#
323# Processor Features
324#
325CONFIG_ARM_THUMB=y
326# CONFIG_ARM_THUMBEE is not set
327# CONFIG_CPU_ICACHE_DISABLE is not set
328# CONFIG_CPU_DCACHE_DISABLE is not set
329# CONFIG_CPU_BPREDICT_DISABLE is not set
330CONFIG_HAS_TLS_REG=y
331CONFIG_ARM_L1_CACHE_SHIFT=6
332CONFIG_ARM_DMA_MEM_BUFFERABLE=y
333CONFIG_CPU_HAS_PMU=y
334# CONFIG_ARM_ERRATA_430973 is not set
335# CONFIG_ARM_ERRATA_458693 is not set
336# CONFIG_ARM_ERRATA_460075 is not set
337CONFIG_COMMON_CLKDEV=y
338
339#
340# Bus support
341#
342# CONFIG_PCI_SYSCALL is not set
343# CONFIG_ARCH_SUPPORTS_MSI is not set
344# CONFIG_PCCARD is not set
345
346#
347# Kernel Features
348#
349CONFIG_TICK_ONESHOT=y
350CONFIG_NO_HZ=y
351CONFIG_HIGH_RES_TIMERS=y
352CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
353# CONFIG_VMSPLIT_3G is not set
354CONFIG_VMSPLIT_2G=y
355# CONFIG_VMSPLIT_1G is not set
356CONFIG_PAGE_OFFSET=0x80000000
357# CONFIG_PREEMPT_NONE is not set
358# CONFIG_PREEMPT_VOLUNTARY is not set
359CONFIG_PREEMPT=y
360CONFIG_HZ=100
361# CONFIG_THUMB2_KERNEL is not set
362CONFIG_AEABI=y
363# CONFIG_OABI_COMPAT is not set
364# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
365# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
366CONFIG_HIGHMEM=y
367# CONFIG_HIGHPTE is not set
368CONFIG_HW_PERF_EVENTS=y
369CONFIG_SELECT_MEMORY_MODEL=y
370CONFIG_FLATMEM_MANUAL=y
371# CONFIG_DISCONTIGMEM_MANUAL is not set
372# CONFIG_SPARSEMEM_MANUAL is not set
373CONFIG_FLATMEM=y
374CONFIG_FLAT_NODE_MEM_MAP=y
375CONFIG_PAGEFLAGS_EXTENDED=y
376CONFIG_SPLIT_PTLOCK_CPUS=4
377# CONFIG_PHYS_ADDR_T_64BIT is not set
378CONFIG_ZONE_DMA_FLAG=1
379CONFIG_BOUNCE=y
380CONFIG_VIRT_TO_BUS=y
381# CONFIG_KSM is not set
382CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
383# CONFIG_LEDS is not set
384CONFIG_ALIGNMENT_TRAP=y
385# CONFIG_UACCESS_WITH_MEMCPY is not set
386CONFIG_RUNTIME_PHYS_OFFSET=y
387
388#
389# Boot options
390#
391CONFIG_ZBOOT_ROM_TEXT=0x0
392CONFIG_ZBOOT_ROM_BSS=0x0
393CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw rootfstype=jffs2 ip=off"
394# CONFIG_CMDLINE_FORCE is not set
395# CONFIG_XIP_KERNEL is not set
396# CONFIG_KEXEC is not set
397
398#
399# CPU Power Management
400#
401CONFIG_CPU_FREQ=y
402CONFIG_CPU_FREQ_TABLE=y
403# CONFIG_CPU_FREQ_DEBUG is not set
404CONFIG_CPU_FREQ_STAT=y
405# CONFIG_CPU_FREQ_STAT_DETAILS is not set
406# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
407# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
408CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
409# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
410# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
411CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
412CONFIG_CPU_FREQ_GOV_POWERSAVE=y
413CONFIG_CPU_FREQ_GOV_USERSPACE=y
414# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
415CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
416CONFIG_CPU_FREQ_IMX=y
417# CONFIG_CPU_IDLE is not set
418
419#
420# Floating point emulation
421#
422
423#
424# At least one emulation must be selected
425#
426CONFIG_VFP=y
427CONFIG_VFPv3=y
428CONFIG_NEON=y
429
430#
431# Userspace binary formats
432#
433CONFIG_BINFMT_ELF=y
434# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
435CONFIG_HAVE_AOUT=y
436# CONFIG_BINFMT_AOUT is not set
437# CONFIG_BINFMT_MISC is not set
438
439#
440# Power management options
441#
442CONFIG_PM=y
443CONFIG_PM_DEBUG=y
444# CONFIG_PM_ADVANCED_DEBUG is not set
445# CONFIG_PM_VERBOSE is not set
446CONFIG_CAN_PM_TRACE=y
447CONFIG_PM_SLEEP=y
448CONFIG_SUSPEND_NVS=y
449CONFIG_SUSPEND=y
450# CONFIG_PM_TEST_SUSPEND is not set
451CONFIG_SUSPEND_DEVICE_TIME_DEBUG=y
452CONFIG_SUSPEND_FREEZER=y
453CONFIG_APM_EMULATION=y
454CONFIG_PM_RUNTIME=y
455CONFIG_PM_OPS=y
456CONFIG_ARCH_SUSPEND_POSSIBLE=y
457CONFIG_NET=y
458
459#
460# Networking options
461#
462CONFIG_PACKET=y
463CONFIG_UNIX=y
464CONFIG_XFRM=y
465# CONFIG_XFRM_USER is not set
466# CONFIG_XFRM_SUB_POLICY is not set
467# CONFIG_XFRM_MIGRATE is not set
468# CONFIG_XFRM_STATISTICS is not set
469# CONFIG_NET_KEY is not set
470CONFIG_INET=y
471CONFIG_IP_MULTICAST=y
472# CONFIG_IP_ADVANCED_ROUTER is not set
473CONFIG_IP_FIB_HASH=y
474CONFIG_IP_PNP=y
475CONFIG_IP_PNP_DHCP=y
476CONFIG_IP_PNP_BOOTP=y
477# CONFIG_IP_PNP_RARP is not set
478# CONFIG_NET_IPIP is not set
479# CONFIG_NET_IPGRE is not set
480# CONFIG_IP_MROUTE is not set
481# CONFIG_ARPD is not set
482# CONFIG_SYN_COOKIES is not set
483# CONFIG_INET_AH is not set
484# CONFIG_INET_ESP is not set
485# CONFIG_INET_IPCOMP is not set
486# CONFIG_INET_XFRM_TUNNEL is not set
487# CONFIG_INET_TUNNEL is not set
488CONFIG_INET_XFRM_MODE_TRANSPORT=y
489CONFIG_INET_XFRM_MODE_TUNNEL=y
490CONFIG_INET_XFRM_MODE_BEET=y
491# CONFIG_INET_LRO is not set
492CONFIG_INET_DIAG=y
493CONFIG_INET_TCP_DIAG=y
494# CONFIG_TCP_CONG_ADVANCED is not set
495CONFIG_TCP_CONG_CUBIC=y
496CONFIG_DEFAULT_TCP_CONG="cubic"
497# CONFIG_TCP_MD5SIG is not set
498# CONFIG_IPV6 is not set
499# CONFIG_NETWORK_SECMARK is not set
500# CONFIG_NETFILTER is not set
501# CONFIG_IP_DCCP is not set
502# CONFIG_IP_SCTP is not set
503# CONFIG_RDS is not set
504# CONFIG_TIPC is not set
505# CONFIG_ATM is not set
506# CONFIG_L2TP is not set
507# CONFIG_BRIDGE is not set
508# CONFIG_NET_DSA is not set
509# CONFIG_VLAN_8021Q is not set
510# CONFIG_DECNET is not set
511# CONFIG_LLC2 is not set
512# CONFIG_IPX is not set
513# CONFIG_ATALK is not set
514# CONFIG_X25 is not set
515# CONFIG_LAPB is not set
516# CONFIG_ECONET is not set
517# CONFIG_WAN_ROUTER is not set
518# CONFIG_PHONET is not set
519# CONFIG_IEEE802154 is not set
520# CONFIG_NET_SCHED is not set
521# CONFIG_DCB is not set
522
523#
524# Network testing
525#
526# CONFIG_NET_PKTGEN is not set
527# CONFIG_NET_TCPPROBE is not set
528# CONFIG_HAMRADIO is not set
529CONFIG_CAN=y
530CONFIG_CAN_RAW=y
531CONFIG_CAN_BCM=y
532
533#
534# CAN Device Drivers
535#
536CONFIG_CAN_VCAN=y
537# CONFIG_CAN_DEV is not set
538CONFIG_CAN_DEBUG_DEVICES=y
539CONFIG_CAN_FLEXCAN=y
540# CONFIG_IRDA is not set
541CONFIG_BT=y
542CONFIG_BT_L2CAP=y
543# CONFIG_BT_L2CAP_EXT_FEATURES is not set
544CONFIG_BT_SCO=y
545CONFIG_BT_RFCOMM=y
546CONFIG_BT_RFCOMM_TTY=y
547CONFIG_BT_BNEP=y
548CONFIG_BT_BNEP_MC_FILTER=y
549CONFIG_BT_BNEP_PROTO_FILTER=y
550CONFIG_BT_HIDP=y
551
552#
553# Bluetooth device drivers
554#
555CONFIG_BT_HCIBTUSB=y
556# CONFIG_BT_HCIBTSDIO is not set
557CONFIG_BT_HCIUART=y
558# CONFIG_BT_HCIUART_H4 is not set
559# CONFIG_BT_HCIUART_BCSP is not set
560CONFIG_BT_HCIUART_ATH3K=y
561# CONFIG_BT_HCIUART_LL is not set
562# CONFIG_BT_HCIBCM203X is not set
563# CONFIG_BT_HCIBPA10X is not set
564# CONFIG_BT_HCIBFUSB is not set
565CONFIG_BT_HCIVHCI=y
566# CONFIG_BT_MRVL is not set
567# CONFIG_BT_ATH3K is not set
568# CONFIG_AF_RXRPC is not set
569CONFIG_WIRELESS=y
570CONFIG_WIRELESS_EXT=y
571CONFIG_WEXT_CORE=y
572CONFIG_WEXT_PROC=y
573CONFIG_WEXT_PRIV=y
574# CONFIG_CFG80211 is not set
575CONFIG_WIRELESS_EXT_SYSFS=y
576# CONFIG_LIB80211 is not set
577
578#
579# CFG80211 needs to be enabled for MAC80211
580#
581
582#
583# Some wireless drivers require a rate control algorithm
584#
585# CONFIG_WIMAX is not set
586CONFIG_RFKILL=y
587CONFIG_RFKILL_LEDS=y
588CONFIG_RFKILL_INPUT=y
589# CONFIG_NET_9P is not set
590# CONFIG_CAIF is not set
591
592#
593# Device Drivers
594#
595
596#
597# Generic Driver Options
598#
599CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
600CONFIG_DEVTMPFS=y
601CONFIG_DEVTMPFS_MOUNT=y
602CONFIG_STANDALONE=y
603CONFIG_PREVENT_FIRMWARE_BUILD=y
604CONFIG_FW_LOADER=y
605CONFIG_FIRMWARE_IN_KERNEL=y
606CONFIG_EXTRA_FIRMWARE=""
607# CONFIG_SYS_HYPERVISOR is not set
608CONFIG_CONNECTOR=y
609CONFIG_PROC_EVENTS=y
610CONFIG_MTD=y
611# CONFIG_MTD_DEBUG is not set
612# CONFIG_MTD_TESTS is not set
613CONFIG_MTD_CONCAT=y
614CONFIG_MTD_PARTITIONS=y
615# CONFIG_MTD_REDBOOT_PARTS is not set
616CONFIG_MTD_CMDLINE_PARTS=y
617# CONFIG_MTD_AFS_PARTS is not set
618# CONFIG_MTD_AR7_PARTS is not set
619
620#
621# User Modules And Translation Layers
622#
623CONFIG_MTD_CHAR=y
624CONFIG_MTD_BLKDEVS=y
625CONFIG_MTD_BLOCK=y
626# CONFIG_FTL is not set
627# CONFIG_NFTL is not set
628# CONFIG_INFTL is not set
629# CONFIG_RFD_FTL is not set
630# CONFIG_SSFDC is not set
631# CONFIG_SM_FTL is not set
632# CONFIG_MTD_OOPS is not set
633
634#
635# RAM/ROM/Flash chip drivers
636#
637# CONFIG_MTD_CFI is not set
638# CONFIG_MTD_JEDECPROBE is not set
639CONFIG_MTD_MAP_BANK_WIDTH_1=y
640CONFIG_MTD_MAP_BANK_WIDTH_2=y
641CONFIG_MTD_MAP_BANK_WIDTH_4=y
642# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
643# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
644# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
645CONFIG_MTD_CFI_I1=y
646CONFIG_MTD_CFI_I2=y
647# CONFIG_MTD_CFI_I4 is not set
648# CONFIG_MTD_CFI_I8 is not set
649# CONFIG_MTD_RAM is not set
650# CONFIG_MTD_ROM is not set
651# CONFIG_MTD_ABSENT is not set
652
653#
654# Mapping drivers for chip access
655#
656# CONFIG_MTD_COMPLEX_MAPPINGS is not set
657# CONFIG_MTD_PLATRAM is not set
658# CONFIG_MTD_MXC is not set
659
660#
661# Self-contained MTD device drivers
662#
663# CONFIG_MTD_DATAFLASH is not set
664CONFIG_MTD_MXC_DATAFLASH=y
665CONFIG_MTD_MXC_M25P80=y
666# CONFIG_MTD_M25P80 is not set
667# CONFIG_MTD_SST25L is not set
668# CONFIG_MTD_SLRAM is not set
669# CONFIG_MTD_PHRAM is not set
670# CONFIG_MTD_MTDRAM is not set
671# CONFIG_MTD_BLOCK2MTD is not set
672
673#
674# Disk-On-Chip Device Drivers
675#
676# CONFIG_MTD_DOC2000 is not set
677# CONFIG_MTD_DOC2001 is not set
678# CONFIG_MTD_DOC2001PLUS is not set
679CONFIG_MTD_NAND_ECC=y
680# CONFIG_MTD_NAND_ECC_SMC is not set
681CONFIG_MTD_NAND=y
682# CONFIG_MTD_NAND_VERIFY_WRITE is not set
683# CONFIG_MTD_SM_COMMON is not set
684# CONFIG_MTD_NAND_MUSEUM_IDS is not set
685CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018
686# CONFIG_MTD_NAND_GPIO is not set
687CONFIG_MTD_NAND_IDS=y
688# CONFIG_MTD_NAND_DISKONCHIP is not set
689# CONFIG_MTD_NAND_NANDSIM is not set
690# CONFIG_MTD_NAND_IMX_NFC is not set
691CONFIG_MTD_NAND_MXC_V3=y
692# CONFIG_MTD_NAND_MXC_SWECC is not set
693# CONFIG_MTD_NAND_MXC_FORCE_CE is not set
694# CONFIG_MXC_NAND_LOW_LEVEL_ERASE is not set
695CONFIG_MTD_NAND_GPMI_NFC=y
696# CONFIG_MTD_NAND_PLATFORM is not set
697# CONFIG_MTD_ALAUDA is not set
698# CONFIG_MTD_ONENAND is not set
699
700#
701# LPDDR flash memory drivers
702#
703# CONFIG_MTD_LPDDR is not set
704
705#
706# UBI - Unsorted block images
707#
708CONFIG_MTD_UBI=y
709CONFIG_MTD_UBI_WL_THRESHOLD=4096
710CONFIG_MTD_UBI_BEB_RESERVE=1
711# CONFIG_MTD_UBI_GLUEBI is not set
712
713#
714# UBI debugging options
715#
716# CONFIG_MTD_UBI_DEBUG is not set
717# CONFIG_MTD_UBI_BLOCK is not set
718# CONFIG_PARPORT is not set
719CONFIG_BLK_DEV=y
720# CONFIG_BLK_DEV_COW_COMMON is not set
721CONFIG_BLK_DEV_LOOP=y
722# CONFIG_BLK_DEV_CRYPTOLOOP is not set
723# CONFIG_BLK_DEV_DRBD is not set
724# CONFIG_BLK_DEV_NBD is not set
725# CONFIG_BLK_DEV_UB is not set
726# CONFIG_BLK_DEV_RAM is not set
727# CONFIG_CDROM_PKTCDVD is not set
728# CONFIG_ATA_OVER_ETH is not set
729# CONFIG_MG_DISK is not set
730CONFIG_MISC_DEVICES=y
731# CONFIG_AD525X_DPOT is not set
732# CONFIG_ICS932S401 is not set
733# CONFIG_ENCLOSURE_SERVICES is not set
734# CONFIG_ISL29003 is not set
735# CONFIG_SENSORS_TSL2550 is not set
736# CONFIG_DS1682 is not set
737# CONFIG_TI_DAC7512 is not set
738CONFIG_MXS_PERFMON=y
739# CONFIG_C2PORT is not set
740
741#
742# EEPROM support
743#
744# CONFIG_EEPROM_AT24 is not set
745# CONFIG_EEPROM_AT25 is not set
746# CONFIG_EEPROM_LEGACY is not set
747# CONFIG_EEPROM_MAX6875 is not set
748# CONFIG_EEPROM_93CX6 is not set
749# CONFIG_IWMC3200TOP is not set
750CONFIG_HAVE_IDE=y
751# CONFIG_IDE is not set
752
753#
754# SCSI device support
755#
756CONFIG_SCSI_MOD=y
757# CONFIG_RAID_ATTRS is not set
758CONFIG_SCSI=y
759CONFIG_SCSI_DMA=y
760# CONFIG_SCSI_TGT is not set
761# CONFIG_SCSI_NETLINK is not set
762CONFIG_SCSI_PROC_FS=y
763
764#
765# SCSI support type (disk, tape, CD-ROM)
766#
767CONFIG_BLK_DEV_SD=y
768# CONFIG_CHR_DEV_ST is not set
769# CONFIG_CHR_DEV_OSST is not set
770# CONFIG_BLK_DEV_SR is not set
771# CONFIG_CHR_DEV_SG is not set
772# CONFIG_CHR_DEV_SCH is not set
773CONFIG_SCSI_MULTI_LUN=y
774# CONFIG_SCSI_CONSTANTS is not set
775# CONFIG_SCSI_LOGGING is not set
776# CONFIG_SCSI_SCAN_ASYNC is not set
777CONFIG_SCSI_WAIT_SCAN=m
778
779#
780# SCSI Transports
781#
782# CONFIG_SCSI_SPI_ATTRS is not set
783# CONFIG_SCSI_FC_ATTRS is not set
784# CONFIG_SCSI_ISCSI_ATTRS is not set
785# CONFIG_SCSI_SAS_LIBSAS is not set
786# CONFIG_SCSI_SRP_ATTRS is not set
787CONFIG_SCSI_LOWLEVEL=y
788# CONFIG_ISCSI_TCP is not set
789# CONFIG_LIBFC is not set
790# CONFIG_LIBFCOE is not set
791# CONFIG_SCSI_DEBUG is not set
792# CONFIG_SCSI_DH is not set
793# CONFIG_SCSI_OSD_INITIATOR is not set
794CONFIG_ATA=y
795# CONFIG_ATA_NONSTANDARD is not set
796CONFIG_ATA_VERBOSE_ERROR=y
797# CONFIG_SATA_PMP is not set
798
799#
800# Controllers with non-SFF native interface
801#
802CONFIG_SATA_AHCI_PLATFORM=y
803CONFIG_SATA_AHCI_FSL_NO_HOTPLUG_MODE=y
804CONFIG_ATA_SFF=y
805
806#
807# SFF controllers with custom DMA interface
808#
809CONFIG_ATA_BMDMA=y
810
811#
812# SATA SFF controllers with BMDMA
813#
814# CONFIG_SATA_MV is not set
815
816#
817# PATA SFF controllers with BMDMA
818#
819CONFIG_PATA_FSL=m
820
821#
822# PIO-only SFF controllers
823#
824# CONFIG_PATA_PLATFORM is not set
825
826#
827# Generic fallback / legacy drivers
828#
829# CONFIG_MD is not set
830CONFIG_NETDEVICES=y
831# CONFIG_DUMMY is not set
832# CONFIG_BONDING is not set
833# CONFIG_MACVLAN is not set
834# CONFIG_EQUALIZER is not set
835# CONFIG_TUN is not set
836# CONFIG_VETH is not set
837CONFIG_PHYLIB=y
838
839#
840# MII PHY device drivers
841#
842# CONFIG_MARVELL_PHY is not set
843# CONFIG_DAVICOM_PHY is not set
844# CONFIG_QSEMI_PHY is not set
845# CONFIG_LXT_PHY is not set
846# CONFIG_CICADA_PHY is not set
847# CONFIG_VITESSE_PHY is not set
848# CONFIG_SMSC_PHY is not set
849# CONFIG_BROADCOM_PHY is not set
850# CONFIG_ICPLUS_PHY is not set
851# CONFIG_REALTEK_PHY is not set
852# CONFIG_NATIONAL_PHY is not set
853# CONFIG_STE10XP is not set
854# CONFIG_LSI_ET1011C_PHY is not set
855# CONFIG_MICREL_PHY is not set
856# CONFIG_FIXED_PHY is not set
857# CONFIG_MDIO_BITBANG is not set
858CONFIG_NET_ETHERNET=y
859CONFIG_MII=y
860# CONFIG_AX88796 is not set
861# CONFIG_SMC91X is not set
862# CONFIG_DM9000 is not set
863# CONFIG_ENC28J60 is not set
864# CONFIG_ETHOC is not set
865# CONFIG_SMC911X is not set
866CONFIG_SMSC911X=y
867# CONFIG_DNET is not set
868# CONFIG_IBM_NEW_EMAC_ZMII is not set
869# CONFIG_IBM_NEW_EMAC_RGMII is not set
870# CONFIG_IBM_NEW_EMAC_TAH is not set
871# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
872# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
873# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
874# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
875# CONFIG_B44 is not set
876# CONFIG_KS8842 is not set
877# CONFIG_KS8851 is not set
878# CONFIG_KS8851_MLL is not set
879CONFIG_FEC=y
880CONFIG_FEC_NAPI=y
881# CONFIG_FEC_1588 is not set
882# CONFIG_FEC2 is not set
883# CONFIG_NETDEV_1000 is not set
884# CONFIG_NETDEV_10000 is not set
885CONFIG_WLAN=y
886# CONFIG_USB_ZD1201 is not set
887# CONFIG_HOSTAP is not set
888
889#
890# Enable WiMAX (Networking options) to see the WiMAX drivers
891#
892
893#
894# USB Network Adapters
895#
896# CONFIG_USB_CATC is not set
897# CONFIG_USB_KAWETH is not set
898# CONFIG_USB_PEGASUS is not set
899# CONFIG_USB_RTL8150 is not set
900# CONFIG_USB_USBNET is not set
901# CONFIG_USB_HSO is not set
902# CONFIG_USB_IPHETH is not set
903# CONFIG_WAN is not set
904# CONFIG_PPP is not set
905# CONFIG_SLIP is not set
906# CONFIG_NETCONSOLE is not set
907# CONFIG_NETPOLL is not set
908# CONFIG_NET_POLL_CONTROLLER is not set
909# CONFIG_ISDN is not set
910# CONFIG_PHONE is not set
911
912#
913# Input device support
914#
915CONFIG_INPUT=y
916# CONFIG_INPUT_FF_MEMLESS is not set
917CONFIG_INPUT_POLLDEV=y
918# CONFIG_INPUT_SPARSEKMAP is not set
919
920#
921# Userland interfaces
922#
923CONFIG_INPUT_MOUSEDEV=y
924CONFIG_INPUT_MOUSEDEV_PSAUX=y
925CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
926CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
927# CONFIG_INPUT_JOYDEV is not set
928CONFIG_INPUT_EVDEV=y
929# CONFIG_INPUT_EVBUG is not set
930# CONFIG_INPUT_APMPOWER is not set
931
932#
933# Input Device Drivers
934#
935CONFIG_INPUT_KEYBOARD=y
936# CONFIG_KEYBOARD_ADP5588 is not set
937# CONFIG_KEYBOARD_ATKBD is not set
938# CONFIG_KEYBOARD_QT2160 is not set
939# CONFIG_KEYBOARD_LKKBD is not set
940CONFIG_KEYBOARD_GPIO=y
941# CONFIG_KEYBOARD_TCA6416 is not set
942# CONFIG_KEYBOARD_MATRIX is not set
943# CONFIG_KEYBOARD_LM8323 is not set
944# CONFIG_KEYBOARD_MAX7359 is not set
945# CONFIG_KEYBOARD_IMX is not set
946# CONFIG_KEYBOARD_NEWTON is not set
947# CONFIG_KEYBOARD_OPENCORES is not set
948# CONFIG_KEYBOARD_STOWAWAY is not set
949# CONFIG_KEYBOARD_SUNKBD is not set
950# CONFIG_KEYBOARD_XTKBD is not set
951CONFIG_KEYBOARD_MXC=y
952CONFIG_KEYBOARD_MPR121=y
953# CONFIG_INPUT_MOUSE is not set
954# CONFIG_INPUT_JOYSTICK is not set
955# CONFIG_INPUT_TABLET is not set
956CONFIG_INPUT_TOUCHSCREEN=y
957# CONFIG_TOUCHSCREEN_ADS7846 is not set
958# CONFIG_TOUCHSCREEN_AD7877 is not set
959# CONFIG_TOUCHSCREEN_AD7879_I2C is not set
960# CONFIG_TOUCHSCREEN_AD7879_SPI is not set
961# CONFIG_TOUCHSCREEN_AD7879 is not set
962# CONFIG_TOUCHSCREEN_DYNAPRO is not set
963# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
964# CONFIG_TOUCHSCREEN_EETI is not set
965CONFIG_TOUCHSCREEN_EGALAX=y
966# CONFIG_TOUCHSCREEN_FUJITSU is not set
967# CONFIG_TOUCHSCREEN_GUNZE is not set
968# CONFIG_TOUCHSCREEN_ELO is not set
969# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
970# CONFIG_TOUCHSCREEN_MCS5000 is not set
971# CONFIG_TOUCHSCREEN_MTOUCH is not set
972# CONFIG_TOUCHSCREEN_INEXIO is not set
973# CONFIG_TOUCHSCREEN_MK712 is not set
974CONFIG_TOUCHSCREEN_MXC=y
975# CONFIG_TOUCHSCREEN_PENMOUNT is not set
976# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
977# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
978# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
979# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
980# CONFIG_TOUCHSCREEN_TSC2007 is not set
981# CONFIG_TOUCHSCREEN_W90X900 is not set
982# CONFIG_TOUCHSCREEN_TPS6507X is not set
983CONFIG_TOUCHSCREEN_P1003=y
984CONFIG_TOUCHSCREEN_DA9052=y
985CONFIG_TOUCHSCREEN_MAX11801=y
986CONFIG_INPUT_MISC=y
987# CONFIG_INPUT_AD714X is not set
988# CONFIG_INPUT_ATI_REMOTE is not set
989# CONFIG_INPUT_ATI_REMOTE2 is not set
990# CONFIG_INPUT_KEYSPAN_REMOTE is not set
991# CONFIG_INPUT_POWERMATE is not set
992# CONFIG_INPUT_YEALINK is not set
993# CONFIG_INPUT_CM109 is not set
994CONFIG_INPUT_UINPUT=y
995# CONFIG_INPUT_PCF8574 is not set
996# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
997CONFIG_INPUT_DA9052_ONKEY=y
998CONFIG_INPUT_ISL29023=y
999
1000#
1001# Hardware I/O ports
1002#
1003# CONFIG_SERIO is not set
1004# CONFIG_GAMEPORT is not set
1005
1006#
1007# Character devices
1008#
1009CONFIG_VT=y
1010CONFIG_CONSOLE_TRANSLATIONS=y
1011CONFIG_VT_CONSOLE=y
1012CONFIG_HW_CONSOLE=y
1013# CONFIG_VT_HW_CONSOLE_BINDING is not set
1014CONFIG_DEVKMEM=y
1015# CONFIG_SERIAL_NONSTANDARD is not set
1016# CONFIG_N_GSM is not set
1017CONFIG_FM_SI4702=m
1018CONFIG_MXC_IIM=y
1019CONFIG_MXS_VIIM=y
1020CONFIG_IMX_SIM=m
1021
1022#
1023# Serial drivers
1024#
1025# CONFIG_SERIAL_8250 is not set
1026
1027#
1028# Non-8250 serial port support
1029#
1030CONFIG_SERIAL_MXC=y
1031CONFIG_SERIAL_MXC_CONSOLE=y
1032# CONFIG_SERIAL_MAX3100 is not set
1033# CONFIG_SERIAL_IMX is not set
1034CONFIG_SERIAL_CORE=y
1035CONFIG_SERIAL_CORE_CONSOLE=y
1036# CONFIG_SERIAL_TIMBERDALE is not set
1037# CONFIG_SERIAL_ALTERA_JTAGUART is not set
1038# CONFIG_SERIAL_ALTERA_UART is not set
1039CONFIG_UNIX98_PTYS=y
1040# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
1041CONFIG_LEGACY_PTYS=y
1042CONFIG_LEGACY_PTY_COUNT=256
1043# CONFIG_FSL_OTP is not set
1044# CONFIG_IPMI_HANDLER is not set
1045CONFIG_HW_RANDOM=y
1046# CONFIG_HW_RANDOM_TIMERIOMEM is not set
1047# CONFIG_HW_RANDOM_FSL_RNGC is not set
1048# CONFIG_R3964 is not set
1049# CONFIG_RAW_DRIVER is not set
1050# CONFIG_TCG_TPM is not set
1051# CONFIG_RAMOOPS is not set
1052CONFIG_I2C=y
1053CONFIG_I2C_BOARDINFO=y
1054CONFIG_I2C_COMPAT=y
1055CONFIG_I2C_CHARDEV=y
1056CONFIG_I2C_HELPER_AUTO=y
1057
1058#
1059# I2C Hardware Bus support
1060#
1061
1062#
1063# I2C system bus drivers (mostly embedded / system-on-chip)
1064#
1065# CONFIG_I2C_DESIGNWARE is not set
1066# CONFIG_I2C_GPIO is not set
1067CONFIG_I2C_IMX=y
1068# CONFIG_I2C_MXC is not set
1069CONFIG_I2C_MXC_HS=y
1070# CONFIG_I2C_OCORES is not set
1071# CONFIG_I2C_PCA_PLATFORM is not set
1072# CONFIG_I2C_SIMTEC is not set
1073# CONFIG_I2C_XILINX is not set
1074
1075#
1076# External I2C/SMBus adapter drivers
1077#
1078# CONFIG_I2C_PARPORT_LIGHT is not set
1079# CONFIG_I2C_TAOS_EVM is not set
1080# CONFIG_I2C_TINY_USB is not set
1081
1082#
1083# Other I2C/SMBus bus drivers
1084#
1085# CONFIG_I2C_STUB is not set
1086# CONFIG_I2C_DEBUG_CORE is not set
1087# CONFIG_I2C_DEBUG_ALGO is not set
1088# CONFIG_I2C_DEBUG_BUS is not set
1089CONFIG_SPI=y
1090CONFIG_SPI_MASTER=y
1091
1092#
1093# SPI Master Controller Drivers
1094#
1095CONFIG_SPI_BITBANG=y
1096# CONFIG_SPI_GPIO is not set
1097# CONFIG_SPI_IMX is not set
1098# CONFIG_SPI_XILINX is not set
1099CONFIG_SPI_MXC=y
1100# CONFIG_SPI_DESIGNWARE is not set
1101
1102#
1103# SPI Protocol Masters
1104#
1105# CONFIG_SPI_SPIDEV is not set
1106# CONFIG_SPI_TLE62X0 is not set
1107
1108#
1109# PPS support
1110#
1111# CONFIG_PPS is not set
1112CONFIG_ARCH_REQUIRE_GPIOLIB=y
1113CONFIG_GPIOLIB=y
1114CONFIG_GPIO_SYSFS=y
1115
1116#
1117# Memory mapped GPIO expanders:
1118#
1119# CONFIG_GPIO_IT8761E is not set
1120
1121#
1122# I2C GPIO expanders:
1123#
1124# CONFIG_GPIO_MAX7300 is not set
1125# CONFIG_GPIO_MAX732X is not set
1126CONFIG_GPIO_PCA953X=y
1127# CONFIG_GPIO_PCA953X_IRQ is not set
1128# CONFIG_GPIO_PCF857X is not set
1129# CONFIG_GPIO_ADP5588 is not set
1130
1131#
1132# PCI GPIO expanders:
1133#
1134
1135#
1136# SPI GPIO expanders:
1137#
1138# CONFIG_GPIO_MAX7301 is not set
1139# CONFIG_GPIO_MCP23S08 is not set
1140# CONFIG_GPIO_MC33880 is not set
1141
1142#
1143# AC97 GPIO expanders:
1144#
1145
1146#
1147# MODULbus GPIO expanders:
1148#
1149# CONFIG_DA9052_GPIO_ENABLE is not set
1150CONFIG_W1=m
1151CONFIG_W1_CON=y
1152
1153#
1154# 1-wire Bus Masters
1155#
1156# CONFIG_W1_MASTER_DS2490 is not set
1157# CONFIG_W1_MASTER_DS2482 is not set
1158CONFIG_W1_MASTER_MXC=m
1159# CONFIG_W1_MASTER_DS1WM is not set
1160# CONFIG_W1_MASTER_GPIO is not set
1161
1162#
1163# 1-wire Slaves
1164#
1165# CONFIG_W1_SLAVE_THERM is not set
1166# CONFIG_W1_SLAVE_SMEM is not set
1167# CONFIG_W1_SLAVE_DS2431 is not set
1168# CONFIG_W1_SLAVE_DS2751 is not set
1169# CONFIG_W1_SLAVE_DS2433 is not set
1170CONFIG_W1_SLAVE_DS2438=m
1171# CONFIG_W1_SLAVE_DS2760 is not set
1172# CONFIG_W1_SLAVE_BQ27000 is not set
1173CONFIG_POWER_SUPPLY=y
1174# CONFIG_POWER_SUPPLY_DEBUG is not set
1175# CONFIG_PDA_POWER is not set
1176CONFIG_APM_POWER=y
1177# CONFIG_TEST_POWER is not set
1178# CONFIG_BATTERY_DS2760 is not set
1179# CONFIG_BATTERY_DS2782 is not set
1180# CONFIG_BATTERY_BQ27x00 is not set
1181# CONFIG_BATTERY_DA9052 is not set
1182# CONFIG_BATTERY_MAX17085 is not set
1183# CONFIG_BATTERY_MAX17040 is not set
1184CONFIG_BATTERY_DS2438=m
1185CONFIG_HWMON=y
1186# CONFIG_HWMON_VID is not set
1187# CONFIG_HWMON_DEBUG_CHIP is not set
1188
1189#
1190# Native drivers
1191#
1192# CONFIG_SENSORS_AD7414 is not set
1193# CONFIG_SENSORS_AD7418 is not set
1194# CONFIG_SENSORS_ADCXX is not set
1195# CONFIG_SENSORS_ADM1021 is not set
1196# CONFIG_SENSORS_ADM1025 is not set
1197# CONFIG_SENSORS_ADM1026 is not set
1198# CONFIG_SENSORS_ADM1029 is not set
1199# CONFIG_SENSORS_ADM1031 is not set
1200# CONFIG_SENSORS_ADM9240 is not set
1201# CONFIG_SENSORS_ADT7411 is not set
1202# CONFIG_SENSORS_ADT7462 is not set
1203# CONFIG_SENSORS_ADT7470 is not set
1204# CONFIG_SENSORS_ADT7475 is not set
1205# CONFIG_SENSORS_ASC7621 is not set
1206# CONFIG_SENSORS_ATXP1 is not set
1207CONFIG_SENSORS_DA9052=y
1208# CONFIG_SENSORS_DS1621 is not set
1209# CONFIG_SENSORS_F71805F is not set
1210# CONFIG_SENSORS_F71882FG is not set
1211# CONFIG_SENSORS_F75375S is not set
1212# CONFIG_SENSORS_G760A is not set
1213# CONFIG_SENSORS_GL518SM is not set
1214# CONFIG_SENSORS_GL520SM is not set
1215# CONFIG_SENSORS_IT87 is not set
1216# CONFIG_SENSORS_LM63 is not set
1217# CONFIG_SENSORS_LM70 is not set
1218# CONFIG_SENSORS_LM73 is not set
1219# CONFIG_SENSORS_LM75 is not set
1220# CONFIG_SENSORS_LM77 is not set
1221# CONFIG_SENSORS_LM78 is not set
1222# CONFIG_SENSORS_LM80 is not set
1223# CONFIG_SENSORS_LM83 is not set
1224# CONFIG_SENSORS_LM85 is not set
1225# CONFIG_SENSORS_LM87 is not set
1226# CONFIG_SENSORS_LM90 is not set
1227# CONFIG_SENSORS_LM92 is not set
1228# CONFIG_SENSORS_LM93 is not set
1229# CONFIG_SENSORS_LTC4215 is not set
1230# CONFIG_SENSORS_LTC4245 is not set
1231# CONFIG_SENSORS_LM95241 is not set
1232# CONFIG_SENSORS_MAX1111 is not set
1233# CONFIG_SENSORS_MAX1619 is not set
1234CONFIG_SENSORS_MAX17135=y
1235# CONFIG_SENSORS_MAX6650 is not set
1236# CONFIG_SENSORS_PC87360 is not set
1237# CONFIG_SENSORS_PC87427 is not set
1238# CONFIG_SENSORS_PCF8591 is not set
1239# CONFIG_SENSORS_SHT15 is not set
1240# CONFIG_SENSORS_DME1737 is not set
1241# CONFIG_SENSORS_EMC1403 is not set
1242# CONFIG_SENSORS_SMSC47M1 is not set
1243# CONFIG_SENSORS_SMSC47M192 is not set
1244# CONFIG_SENSORS_SMSC47B397 is not set
1245# CONFIG_SENSORS_ADS7828 is not set
1246# CONFIG_SENSORS_ADS7871 is not set
1247# CONFIG_SENSORS_AMC6821 is not set
1248# CONFIG_SENSORS_THMC50 is not set
1249# CONFIG_SENSORS_TMP102 is not set
1250# CONFIG_SENSORS_TMP401 is not set
1251# CONFIG_SENSORS_TMP421 is not set
1252# CONFIG_SENSORS_VT1211 is not set
1253# CONFIG_SENSORS_W83781D is not set
1254# CONFIG_SENSORS_W83791D is not set
1255# CONFIG_SENSORS_W83792D is not set
1256# CONFIG_SENSORS_W83793 is not set
1257# CONFIG_SENSORS_W83L785TS is not set
1258# CONFIG_SENSORS_W83L786NG is not set
1259# CONFIG_SENSORS_W83627HF is not set
1260# CONFIG_SENSORS_W83627EHF is not set
1261# CONFIG_SENSORS_LIS3_SPI is not set
1262# CONFIG_SENSORS_LIS3_I2C is not set
1263CONFIG_SENSORS_IMX_AHCI=y
1264CONFIG_SENSORS_MAG3110=y
1265CONFIG_SENSORS_ISL29003=y
1266CONFIG_MXC_MMA8450=y
1267CONFIG_MXC_MMA8451=y
1268# CONFIG_THERMAL is not set
1269CONFIG_WATCHDOG=y
1270CONFIG_WATCHDOG_NOWAYOUT=y
1271
1272#
1273# Watchdog Device Drivers
1274#
1275# CONFIG_DA9052_WATCHDOG is not set
1276# CONFIG_SOFT_WATCHDOG is not set
1277CONFIG_MXC_WATCHDOG=y
1278# CONFIG_MAX63XX_WATCHDOG is not set
1279# CONFIG_IMX2_WDT is not set
1280
1281#
1282# USB-based Watchdog Cards
1283#
1284# CONFIG_USBPCWATCHDOG is not set
1285CONFIG_SSB_POSSIBLE=y
1286
1287#
1288# Sonics Silicon Backplane
1289#
1290# CONFIG_SSB is not set
1291CONFIG_MFD_SUPPORT=y
1292CONFIG_MFD_CORE=y
1293# CONFIG_MFD_88PM860X is not set
1294# CONFIG_MFD_SM501 is not set
1295# CONFIG_MFD_ASIC3 is not set
1296# CONFIG_HTC_EGPIO is not set
1297# CONFIG_HTC_PASIC3 is not set
1298# CONFIG_HTC_I2CPLD is not set
1299# CONFIG_TPS65010 is not set
1300# CONFIG_TPS6507X is not set
1301# CONFIG_TWL4030_CORE is not set
1302# CONFIG_MFD_TC35892 is not set
1303# CONFIG_MFD_TMIO is not set
1304# CONFIG_MFD_T7L66XB is not set
1305# CONFIG_MFD_TC6387XB is not set
1306# CONFIG_MFD_TC6393XB is not set
1307# CONFIG_PMIC_DA903X is not set
1308# CONFIG_PMIC_ADP5520 is not set
1309# CONFIG_MFD_MAX8925 is not set
1310# CONFIG_MFD_WM8400 is not set
1311# CONFIG_MFD_WM831X is not set
1312# CONFIG_MFD_WM8350_I2C is not set
1313# CONFIG_MFD_WM8994 is not set
1314CONFIG_MFD_LTC3589=y
1315CONFIG_MFD_LTC3589_I2C=y
1316# CONFIG_MFD_PCF50633 is not set
1317# CONFIG_MFD_MC13783 is not set
1318CONFIG_PMIC_DA9052=y
1319# CONFIG_ABX500_CORE is not set
1320# CONFIG_EZX_PCAP is not set
1321# CONFIG_AB8500_CORE is not set
1322CONFIG_MFD_MAX17135=y
1323CONFIG_REGULATOR=y
1324# CONFIG_REGULATOR_DEBUG is not set
1325# CONFIG_REGULATOR_DUMMY is not set
1326CONFIG_REGULATOR_FIXED_VOLTAGE=y
1327# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
1328# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
1329# CONFIG_REGULATOR_BQ24022 is not set
1330# CONFIG_REGULATOR_MAX1586 is not set
1331# CONFIG_REGULATOR_MAX8649 is not set
1332# CONFIG_REGULATOR_MAX8660 is not set
1333# CONFIG_REGULATOR_LP3971 is not set
1334# CONFIG_REGULATOR_TPS65023 is not set
1335# CONFIG_REGULATOR_TPS6507X is not set
1336CONFIG_REGULATOR_MC13892=y
1337CONFIG_REGULATOR_MC34708=y
1338CONFIG_REGULATOR_LTC3589=y
1339CONFIG_REGULATOR_MAX17135=y
1340CONFIG_REGULATOR_DA9052=y
1341CONFIG_MEDIA_SUPPORT=y
1342
1343#
1344# Multimedia core support
1345#
1346CONFIG_VIDEO_DEV=y
1347CONFIG_VIDEO_V4L2_COMMON=y
1348CONFIG_VIDEO_ALLOW_V4L1=y
1349CONFIG_VIDEO_V4L1_COMPAT=y
1350# CONFIG_DVB_CORE is not set
1351CONFIG_VIDEO_MEDIA=y
1352
1353#
1354# Multimedia drivers
1355#
1356CONFIG_IR_CORE=y
1357CONFIG_VIDEO_IR=y
1358CONFIG_RC_MAP=y
1359CONFIG_IR_NEC_DECODER=y
1360CONFIG_IR_RC5_DECODER=y
1361CONFIG_IR_RC6_DECODER=y
1362CONFIG_IR_JVC_DECODER=y
1363CONFIG_IR_SONY_DECODER=y
1364# CONFIG_IR_IMON is not set
1365# CONFIG_MEDIA_ATTACH is not set
1366CONFIG_MEDIA_TUNER=y
1367CONFIG_MEDIA_TUNER_CUSTOMISE=y
1368# CONFIG_MEDIA_TUNER_SIMPLE is not set
1369# CONFIG_MEDIA_TUNER_TDA8290 is not set
1370# CONFIG_MEDIA_TUNER_TDA827X is not set
1371# CONFIG_MEDIA_TUNER_TDA18271 is not set
1372# CONFIG_MEDIA_TUNER_TDA9887 is not set
1373# CONFIG_MEDIA_TUNER_TEA5761 is not set
1374# CONFIG_MEDIA_TUNER_TEA5767 is not set
1375# CONFIG_MEDIA_TUNER_MT20XX is not set
1376# CONFIG_MEDIA_TUNER_MT2060 is not set
1377# CONFIG_MEDIA_TUNER_MT2266 is not set
1378# CONFIG_MEDIA_TUNER_MT2131 is not set
1379# CONFIG_MEDIA_TUNER_QT1010 is not set
1380# CONFIG_MEDIA_TUNER_XC2028 is not set
1381# CONFIG_MEDIA_TUNER_XC5000 is not set
1382# CONFIG_MEDIA_TUNER_MXL5005S is not set
1383# CONFIG_MEDIA_TUNER_MXL5007T is not set
1384# CONFIG_MEDIA_TUNER_MC44S803 is not set
1385CONFIG_MEDIA_TUNER_MAX2165=m
1386CONFIG_VIDEO_V4L2=y
1387CONFIG_VIDEO_V4L1=y
1388CONFIG_VIDEO_CAPTURE_DRIVERS=y
1389# CONFIG_VIDEO_ADV_DEBUG is not set
1390# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
1391# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
1392CONFIG_VIDEO_IR_I2C=y
1393
1394#
1395# Encoders/decoders and other helper chips
1396#
1397
1398#
1399# Audio decoders
1400#
1401# CONFIG_VIDEO_TVAUDIO is not set
1402# CONFIG_VIDEO_TDA7432 is not set
1403# CONFIG_VIDEO_TDA9840 is not set
1404# CONFIG_VIDEO_TDA9875 is not set
1405# CONFIG_VIDEO_TEA6415C is not set
1406# CONFIG_VIDEO_TEA6420 is not set
1407# CONFIG_VIDEO_MSP3400 is not set
1408# CONFIG_VIDEO_CS5345 is not set
1409# CONFIG_VIDEO_CS53L32A is not set
1410# CONFIG_VIDEO_M52790 is not set
1411# CONFIG_VIDEO_TLV320AIC23B is not set
1412# CONFIG_VIDEO_WM8775 is not set
1413# CONFIG_VIDEO_WM8739 is not set
1414# CONFIG_VIDEO_VP27SMPX is not set
1415
1416#
1417# RDS decoders
1418#
1419# CONFIG_VIDEO_SAA6588 is not set
1420
1421#
1422# Video decoders
1423#
1424# CONFIG_VIDEO_ADV7180 is not set
1425# CONFIG_VIDEO_BT819 is not set
1426# CONFIG_VIDEO_BT856 is not set
1427# CONFIG_VIDEO_BT866 is not set
1428# CONFIG_VIDEO_KS0127 is not set
1429# CONFIG_VIDEO_OV7670 is not set
1430# CONFIG_VIDEO_MT9V011 is not set
1431# CONFIG_VIDEO_TCM825X is not set
1432# CONFIG_VIDEO_SAA7110 is not set
1433# CONFIG_VIDEO_SAA711X is not set
1434# CONFIG_VIDEO_SAA717X is not set
1435# CONFIG_VIDEO_SAA7191 is not set
1436# CONFIG_VIDEO_TVP514X is not set
1437# CONFIG_VIDEO_TVP5150 is not set
1438# CONFIG_VIDEO_TVP7002 is not set
1439# CONFIG_VIDEO_VPX3220 is not set
1440
1441#
1442# Video and audio decoders
1443#
1444# CONFIG_VIDEO_CX25840 is not set
1445
1446#
1447# MPEG video encoders
1448#
1449# CONFIG_VIDEO_CX2341X is not set
1450
1451#
1452# Video encoders
1453#
1454# CONFIG_VIDEO_SAA7127 is not set
1455# CONFIG_VIDEO_SAA7185 is not set
1456# CONFIG_VIDEO_ADV7170 is not set
1457# CONFIG_VIDEO_ADV7175 is not set
1458# CONFIG_VIDEO_THS7303 is not set
1459# CONFIG_VIDEO_ADV7343 is not set
1460# CONFIG_VIDEO_AK881X is not set
1461
1462#
1463# Video improvement chips
1464#
1465# CONFIG_VIDEO_UPD64031A is not set
1466# CONFIG_VIDEO_UPD64083 is not set
1467# CONFIG_VIDEO_VIVI is not set
1468CONFIG_VIDEO_MXC_CAMERA=m
1469
1470#
1471# MXC Camera/V4L2 PRP Features support
1472#
1473CONFIG_VIDEO_MXC_IPU_CAMERA=y
1474# CONFIG_VIDEO_MXC_CSI_CAMERA is not set
1475# CONFIG_MXC_CAMERA_MC521DA is not set
1476# CONFIG_MXC_EMMA_CAMERA_MICRON111 is not set
1477# CONFIG_MXC_CAMERA_OV2640_EMMA is not set
1478# CONFIG_MXC_CAMERA_MICRON111 is not set
1479# CONFIG_MXC_CAMERA_OV2640 is not set
1480CONFIG_MXC_CAMERA_OV3640=m
1481CONFIG_MXC_CAMERA_OV5640=m
1482CONFIG_MXC_CAMERA_OV5642=m
1483CONFIG_MXC_TVIN_ADV7180=m
1484CONFIG_MXC_IPU_PRP_VF_SDC=m
1485CONFIG_MXC_IPU_PRP_ENC=m
1486CONFIG_MXC_IPU_CSI_ENC=m
1487CONFIG_VIDEO_MXC_OUTPUT=y
1488CONFIG_VIDEO_MXC_IPU_OUTPUT=y
1489# CONFIG_VIDEO_MXC_IPUV1_WVGA_OUTPUT is not set
1490# CONFIG_VIDEO_MXC_PXP_V4L2 is not set
1491# CONFIG_VIDEO_MXC_OPL is not set
1492# CONFIG_VIDEO_CPIA is not set
1493# CONFIG_VIDEO_CPIA2 is not set
1494# CONFIG_VIDEO_SAA5246A is not set
1495# CONFIG_VIDEO_SAA5249 is not set
1496# CONFIG_SOC_CAMERA is not set
1497CONFIG_V4L_USB_DRIVERS=y
1498CONFIG_USB_VIDEO_CLASS=y
1499CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
1500CONFIG_USB_GSPCA=m
1501# CONFIG_USB_M5602 is not set
1502# CONFIG_USB_STV06XX is not set
1503# CONFIG_USB_GL860 is not set
1504# CONFIG_USB_GSPCA_BENQ is not set
1505# CONFIG_USB_GSPCA_CONEX is not set
1506# CONFIG_USB_GSPCA_CPIA1 is not set
1507# CONFIG_USB_GSPCA_ETOMS is not set
1508# CONFIG_USB_GSPCA_FINEPIX is not set
1509# CONFIG_USB_GSPCA_JEILINJ is not set
1510# CONFIG_USB_GSPCA_MARS is not set
1511# CONFIG_USB_GSPCA_MR97310A is not set
1512# CONFIG_USB_GSPCA_OV519 is not set
1513# CONFIG_USB_GSPCA_OV534 is not set
1514# CONFIG_USB_GSPCA_OV534_9 is not set
1515# CONFIG_USB_GSPCA_PAC207 is not set
1516# CONFIG_USB_GSPCA_PAC7302 is not set
1517# CONFIG_USB_GSPCA_PAC7311 is not set
1518# CONFIG_USB_GSPCA_SN9C2028 is not set
1519# CONFIG_USB_GSPCA_SN9C20X is not set
1520# CONFIG_USB_GSPCA_SONIXB is not set
1521# CONFIG_USB_GSPCA_SONIXJ is not set
1522# CONFIG_USB_GSPCA_SPCA500 is not set
1523# CONFIG_USB_GSPCA_SPCA501 is not set
1524# CONFIG_USB_GSPCA_SPCA505 is not set
1525# CONFIG_USB_GSPCA_SPCA506 is not set
1526# CONFIG_USB_GSPCA_SPCA508 is not set
1527# CONFIG_USB_GSPCA_SPCA561 is not set
1528# CONFIG_USB_GSPCA_SQ905 is not set
1529# CONFIG_USB_GSPCA_SQ905C is not set
1530# CONFIG_USB_GSPCA_STK014 is not set
1531# CONFIG_USB_GSPCA_STV0680 is not set
1532# CONFIG_USB_GSPCA_SUNPLUS is not set
1533# CONFIG_USB_GSPCA_T613 is not set
1534# CONFIG_USB_GSPCA_TV8532 is not set
1535# CONFIG_USB_GSPCA_VC032X is not set
1536# CONFIG_USB_GSPCA_ZC3XX is not set
1537# CONFIG_VIDEO_PVRUSB2 is not set
1538# CONFIG_VIDEO_HDPVR is not set
1539# CONFIG_VIDEO_EM28XX is not set
1540# CONFIG_VIDEO_CX231XX is not set
1541# CONFIG_VIDEO_USBVISION is not set
1542# CONFIG_USB_VICAM is not set
1543# CONFIG_USB_IBMCAM is not set
1544# CONFIG_USB_KONICAWC is not set
1545# CONFIG_USB_QUICKCAM_MESSENGER is not set
1546# CONFIG_USB_ET61X251 is not set
1547# CONFIG_VIDEO_OVCAMCHIP is not set
1548# CONFIG_USB_OV511 is not set
1549# CONFIG_USB_SE401 is not set
1550# CONFIG_USB_SN9C102 is not set
1551# CONFIG_USB_STV680 is not set
1552# CONFIG_USB_ZC0301 is not set
1553# CONFIG_USB_PWC is not set
1554# CONFIG_USB_ZR364XX is not set
1555# CONFIG_USB_STKWEBCAM is not set
1556# CONFIG_USB_S2255 is not set
1557# CONFIG_V4L_MEM2MEM_DRIVERS is not set
1558CONFIG_RADIO_ADAPTERS=y
1559# CONFIG_I2C_SI4713 is not set
1560# CONFIG_RADIO_SI4713 is not set
1561# CONFIG_USB_DSBR is not set
1562# CONFIG_RADIO_SI470X is not set
1563# CONFIG_USB_MR800 is not set
1564# CONFIG_RADIO_TEA5764 is not set
1565# CONFIG_RADIO_SAA7706H is not set
1566# CONFIG_RADIO_TEF6862 is not set
1567# CONFIG_DAB is not set
1568
1569#
1570# Graphics support
1571#
1572# CONFIG_VGASTATE is not set
1573# CONFIG_VIDEO_OUTPUT_CONTROL is not set
1574CONFIG_FB=y
1575# CONFIG_FIRMWARE_EDID is not set
1576# CONFIG_FB_DDC is not set
1577# CONFIG_FB_BOOT_VESA_SUPPORT is not set
1578CONFIG_FB_CFB_FILLRECT=y
1579CONFIG_FB_CFB_COPYAREA=y
1580CONFIG_FB_CFB_IMAGEBLIT=y
1581# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
1582# CONFIG_FB_SYS_FILLRECT is not set
1583# CONFIG_FB_SYS_COPYAREA is not set
1584# CONFIG_FB_SYS_IMAGEBLIT is not set
1585# CONFIG_FB_FOREIGN_ENDIAN is not set
1586# CONFIG_FB_SYS_FOPS is not set
1587CONFIG_FB_DEFERRED_IO=y
1588# CONFIG_FB_SVGALIB is not set
1589# CONFIG_FB_MACMODES is not set
1590# CONFIG_FB_BACKLIGHT is not set
1591CONFIG_FB_MODE_HELPERS=y
1592# CONFIG_FB_TILEBLITTING is not set
1593
1594#
1595# Frame buffer hardware drivers
1596#
1597CONFIG_FB_MXC=y
1598CONFIG_FB_MXC_SYNC_PANEL=y
1599CONFIG_FB_MXC_EPSON_VGA_SYNC_PANEL=y
1600CONFIG_FB_MXC_TVOUT_TVE=y
1601CONFIG_FB_MXC_LDB=y
1602# CONFIG_FB_MXC_CLAA_WVGA_SYNC_PANEL is not set
1603# CONFIG_FB_MXC_SEIKO_WVGA_SYNC_PANEL is not set
1604CONFIG_FB_MXC_SII902X=y
1605CONFIG_FB_MXC_CH7026=y
1606# CONFIG_FB_MXC_TVOUT_CH7024 is not set
1607# CONFIG_FB_MXC_ASYNC_PANEL is not set
1608CONFIG_FB_MXC_EINK_PANEL=y
1609# CONFIG_FB_MXC_EINK_AUTO_UPDATE_MODE is not set
1610# CONFIG_FB_MXC_ELCDIF_FB is not set
1611# CONFIG_FB_UVESA is not set
1612# CONFIG_FB_S1D13XXX is not set
1613# CONFIG_FB_TMIO is not set
1614# CONFIG_FB_VIRTUAL is not set
1615# CONFIG_FB_METRONOME is not set
1616# CONFIG_FB_MB862XX is not set
1617# CONFIG_FB_BROADSHEET is not set
1618CONFIG_BACKLIGHT_LCD_SUPPORT=y
1619# CONFIG_LCD_CLASS_DEVICE is not set
1620CONFIG_BACKLIGHT_CLASS_DEVICE=y
1621CONFIG_BACKLIGHT_GENERIC=y
1622# CONFIG_BACKLIGHT_DA9052 is not set
1623CONFIG_BACKLIGHT_PWM=y
1624# CONFIG_BACKLIGHT_ADP8860 is not set
1625CONFIG_BACKLIGHT_MXC_MC13892=y
1626
1627#
1628# Display device support
1629#
1630# CONFIG_DISPLAY_SUPPORT is not set
1631
1632#
1633# Console display driver support
1634#
1635# CONFIG_VGA_CONSOLE is not set
1636CONFIG_DUMMY_CONSOLE=y
1637CONFIG_FRAMEBUFFER_CONSOLE=y
1638# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
1639# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
1640CONFIG_FONTS=y
1641# CONFIG_FONT_8x8 is not set
1642CONFIG_FONT_8x16=y
1643# CONFIG_FONT_6x11 is not set
1644# CONFIG_FONT_7x14 is not set
1645# CONFIG_FONT_PEARL_8x8 is not set
1646# CONFIG_FONT_ACORN_8x8 is not set
1647# CONFIG_FONT_MINI_4x6 is not set
1648# CONFIG_FONT_SUN8x16 is not set
1649# CONFIG_FONT_SUN12x22 is not set
1650# CONFIG_FONT_10x18 is not set
1651CONFIG_LOGO=y
1652# CONFIG_LOGO_LINUX_MONO is not set
1653# CONFIG_LOGO_LINUX_VGA16 is not set
1654CONFIG_LOGO_LINUX_CLUT224=y
1655CONFIG_SOUND=y
1656CONFIG_SOUND_OSS_CORE=y
1657CONFIG_SOUND_OSS_CORE_PRECLAIM=y
1658CONFIG_SND=y
1659CONFIG_SND_TIMER=y
1660CONFIG_SND_PCM=y
1661CONFIG_SND_JACK=y
1662# CONFIG_SND_SEQUENCER is not set
1663CONFIG_SND_OSSEMUL=y
1664CONFIG_SND_MIXER_OSS=y
1665CONFIG_SND_PCM_OSS=y
1666CONFIG_SND_PCM_OSS_PLUGINS=y
1667# CONFIG_SND_HRTIMER is not set
1668# CONFIG_SND_DYNAMIC_MINORS is not set
1669CONFIG_SND_SUPPORT_OLD_API=y
1670CONFIG_SND_VERBOSE_PROCFS=y
1671# CONFIG_SND_VERBOSE_PRINTK is not set
1672# CONFIG_SND_DEBUG is not set
1673# CONFIG_SND_RAWMIDI_SEQ is not set
1674# CONFIG_SND_OPL3_LIB_SEQ is not set
1675# CONFIG_SND_OPL4_LIB_SEQ is not set
1676# CONFIG_SND_SBAWE_SEQ is not set
1677# CONFIG_SND_EMU10K1_SEQ is not set
1678CONFIG_SND_DRIVERS=y
1679# CONFIG_SND_DUMMY is not set
1680# CONFIG_SND_MTPAV is not set
1681# CONFIG_SND_SERIAL_U16550 is not set
1682# CONFIG_SND_MPU401 is not set
1683# CONFIG_SND_ARM is not set
1684CONFIG_SND_SPI=y
1685CONFIG_SND_USB=y
1686# CONFIG_SND_USB_AUDIO is not set
1687# CONFIG_SND_USB_UA101 is not set
1688# CONFIG_SND_USB_CAIAQ is not set
1689CONFIG_SND_SOC=y
1690CONFIG_SND_MXC_SOC=y
1691CONFIG_SND_MXC_SOC_SSI=y
1692CONFIG_SND_MXC_SOC_ESAI=y
1693CONFIG_SND_MXC_SOC_SPDIF_DAI=y
1694CONFIG_SND_MXC_SOC_IRAM=y
1695CONFIG_SND_SOC_IMX_3STACK_SGTL5000=y
1696# CONFIG_SND_SOC_IMX_3STACK_AK4647 is not set
1697# CONFIG_SND_SOC_IMX_3STACK_WM8580 is not set
1698# CONFIG_SND_SOC_IMX_3STACK_AK5702 is not set
1699# CONFIG_SND_SOC_IMX_3STACK_BLUETOOTH is not set
1700CONFIG_SND_SOC_IMX_3STACK_CS42888=y
1701CONFIG_SND_SOC_IMX_SPDIF=y
1702# CONFIG_MXC_SSI_DUAL_FIFO is not set
1703CONFIG_SND_SOC_I2C_AND_SPI=y
1704# CONFIG_SND_SOC_ALL_CODECS is not set
1705CONFIG_SND_SOC_CS42888=y
1706CONFIG_SND_SOC_SGTL5000=y
1707CONFIG_SND_SOC_MXC_SPDIF=y
1708# CONFIG_SOUND_PRIME is not set
1709CONFIG_HID_SUPPORT=y
1710CONFIG_HID=y
1711# CONFIG_HIDRAW is not set
1712
1713#
1714# USB Input Devices
1715#
1716CONFIG_USB_HID=y
1717# CONFIG_HID_PID is not set
1718# CONFIG_USB_HIDDEV is not set
1719
1720#
1721# Special HID drivers
1722#
1723# CONFIG_HID_3M_PCT is not set
1724CONFIG_HID_A4TECH=m
1725CONFIG_HID_APPLE=m
1726CONFIG_HID_BELKIN=m
1727# CONFIG_HID_CANDO is not set
1728CONFIG_HID_CHERRY=m
1729CONFIG_HID_CHICONY=m
1730# CONFIG_HID_PRODIKEYS is not set
1731CONFIG_HID_CYPRESS=m
1732# CONFIG_HID_DRAGONRISE is not set
1733# CONFIG_HID_EGALAX is not set
1734CONFIG_HID_EZKEY=m
1735# CONFIG_HID_KYE is not set
1736CONFIG_HID_GYRATION=m
1737# CONFIG_HID_TWINHAN is not set
1738# CONFIG_HID_KENSINGTON is not set
1739CONFIG_HID_LOGITECH=m
1740# CONFIG_LOGITECH_FF is not set
1741# CONFIG_LOGIRUMBLEPAD2_FF is not set
1742# CONFIG_LOGIG940_FF is not set
1743# CONFIG_HID_MAGICMOUSE is not set
1744CONFIG_HID_MICROSOFT=m
1745# CONFIG_HID_MOSART is not set
1746CONFIG_HID_MONTEREY=m
1747# CONFIG_HID_NTRIG is not set
1748# CONFIG_HID_ORTEK is not set
1749CONFIG_HID_PANTHERLORD=m
1750# CONFIG_PANTHERLORD_FF is not set
1751CONFIG_HID_PETALYNX=m
1752# CONFIG_HID_PICOLCD is not set
1753# CONFIG_HID_QUANTA is not set
1754# CONFIG_HID_ROCCAT is not set
1755# CONFIG_HID_ROCCAT_KONE is not set
1756CONFIG_HID_SAMSUNG=m
1757CONFIG_HID_SONY=m
1758# CONFIG_HID_STANTUM is not set
1759CONFIG_HID_SUNPLUS=m
1760# CONFIG_HID_GREENASIA is not set
1761# CONFIG_HID_SMARTJOYPLUS is not set
1762# CONFIG_HID_TOPSEED is not set
1763# CONFIG_HID_THRUSTMASTER is not set
1764# CONFIG_HID_WACOM is not set
1765# CONFIG_HID_ZEROPLUS is not set
1766# CONFIG_HID_ZYDACRON is not set
1767CONFIG_USB_SUPPORT=y
1768CONFIG_USB_ARCH_HAS_HCD=y
1769# CONFIG_USB_ARCH_HAS_OHCI is not set
1770CONFIG_USB_ARCH_HAS_EHCI=y
1771CONFIG_USB=y
1772# CONFIG_USB_DEBUG is not set
1773# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
1774
1775#
1776# Miscellaneous USB options
1777#
1778# CONFIG_USB_DEVICEFS is not set
1779CONFIG_USB_DEVICE_CLASS=y
1780# CONFIG_USB_DYNAMIC_MINORS is not set
1781CONFIG_USB_SUSPEND=y
1782CONFIG_USB_OTG=y
1783# CONFIG_USB_OTG_WHITELIST is not set
1784# CONFIG_USB_OTG_BLACKLIST_HUB is not set
1785# CONFIG_USB_MON is not set
1786# CONFIG_USB_WUSB is not set
1787# CONFIG_USB_WUSB_CBAF is not set
1788
1789#
1790# USB Host Controller Drivers
1791#
1792# CONFIG_USB_C67X00_HCD is not set
1793CONFIG_USB_EHCI_HCD=y
1794CONFIG_USB_EHCI_ARC=y
1795CONFIG_USB_EHCI_ARC_OTG=y
1796# CONFIG_USB_STATIC_IRAM is not set
1797# CONFIG_USB_EHCI_FSL_MC13783 is not set
1798# CONFIG_USB_EHCI_FSL_1301 is not set
1799# CONFIG_USB_EHCI_FSL_1504 is not set
1800CONFIG_USB_EHCI_FSL_UTMI=y
1801CONFIG_USB_EHCI_ROOT_HUB_TT=y
1802# CONFIG_USB_EHCI_TT_NEWSCHED is not set
1803# CONFIG_USB_EHCI_MXC is not set
1804# CONFIG_USB_OXU210HP_HCD is not set
1805# CONFIG_USB_ISP116X_HCD is not set
1806# CONFIG_USB_ISP1760_HCD is not set
1807# CONFIG_USB_ISP1362_HCD is not set
1808# CONFIG_USB_SL811_HCD is not set
1809# CONFIG_USB_R8A66597_HCD is not set
1810# CONFIG_USB_HWA_HCD is not set
1811# CONFIG_USB_MUSB_HDRC is not set
1812# CONFIG_USB_GADGET_MUSB_HDRC is not set
1813
1814#
1815# USB Device Class drivers
1816#
1817CONFIG_USB_ACM=y
1818# CONFIG_USB_PRINTER is not set
1819# CONFIG_USB_WDM is not set
1820# CONFIG_USB_TMC is not set
1821
1822#
1823# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
1824#
1825
1826#
1827# also be needed; see USB_STORAGE Help for more info
1828#
1829CONFIG_USB_STORAGE=y
1830# CONFIG_USB_STORAGE_DEBUG is not set
1831# CONFIG_USB_STORAGE_DATAFAB is not set
1832# CONFIG_USB_STORAGE_FREECOM is not set
1833# CONFIG_USB_STORAGE_ISD200 is not set
1834# CONFIG_USB_STORAGE_USBAT is not set
1835# CONFIG_USB_STORAGE_SDDR09 is not set
1836# CONFIG_USB_STORAGE_SDDR55 is not set
1837# CONFIG_USB_STORAGE_JUMPSHOT is not set
1838# CONFIG_USB_STORAGE_ALAUDA is not set
1839# CONFIG_USB_STORAGE_ONETOUCH is not set
1840# CONFIG_USB_STORAGE_KARMA is not set
1841# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
1842# CONFIG_USB_LIBUSUAL is not set
1843
1844#
1845# USB Imaging devices
1846#
1847# CONFIG_USB_MDC800 is not set
1848# CONFIG_USB_MICROTEK is not set
1849
1850#
1851# USB port drivers
1852#
1853# CONFIG_USB_SERIAL is not set
1854
1855#
1856# USB Miscellaneous drivers
1857#
1858# CONFIG_USB_EMI62 is not set
1859# CONFIG_USB_EMI26 is not set
1860# CONFIG_USB_ADUTUX is not set
1861# CONFIG_USB_SEVSEG is not set
1862# CONFIG_USB_RIO500 is not set
1863# CONFIG_USB_LEGOTOWER is not set
1864# CONFIG_USB_LCD is not set
1865# CONFIG_USB_LED is not set
1866# CONFIG_USB_CYPRESS_CY7C63 is not set
1867# CONFIG_USB_CYTHERM is not set
1868# CONFIG_USB_IDMOUSE is not set
1869# CONFIG_USB_FTDI_ELAN is not set
1870# CONFIG_USB_APPLEDISPLAY is not set
1871# CONFIG_USB_SISUSBVGA is not set
1872# CONFIG_USB_LD is not set
1873# CONFIG_USB_TRANCEVIBRATOR is not set
1874# CONFIG_USB_IOWARRIOR is not set
1875# CONFIG_USB_TEST is not set
1876# CONFIG_USB_ISIGHTFW is not set
1877CONFIG_USB_GADGET=y
1878# CONFIG_USB_GADGET_DEBUG_FILES is not set
1879CONFIG_USB_GADGET_VBUS_DRAW=2
1880CONFIG_USB_GADGET_SELECTED=y
1881# CONFIG_USB_GADGET_AT91 is not set
1882# CONFIG_USB_GADGET_ATMEL_USBA is not set
1883# CONFIG_USB_GADGET_FSL_USB2 is not set
1884# CONFIG_USB_GADGET_LH7A40X is not set
1885# CONFIG_USB_GADGET_OMAP is not set
1886# CONFIG_USB_GADGET_PXA25X is not set
1887# CONFIG_USB_GADGET_R8A66597 is not set
1888# CONFIG_USB_GADGET_PXA27X is not set
1889# CONFIG_USB_GADGET_S3C_HSOTG is not set
1890# CONFIG_USB_GADGET_IMX is not set
1891# CONFIG_USB_GADGET_S3C2410 is not set
1892# CONFIG_USB_GADGET_M66592 is not set
1893# CONFIG_USB_GADGET_AMD5536UDC is not set
1894# CONFIG_USB_GADGET_FSL_QE is not set
1895# CONFIG_USB_GADGET_CI13XXX is not set
1896# CONFIG_USB_GADGET_NET2280 is not set
1897# CONFIG_USB_GADGET_GOKU is not set
1898CONFIG_USB_GADGET_ARC=y
1899# CONFIG_USB_STATIC_IRAM_PPH is not set
1900CONFIG_USB_ARC=y
1901# CONFIG_USB_GADGET_LANGWELL is not set
1902# CONFIG_USB_GADGET_DUMMY_HCD is not set
1903CONFIG_USB_GADGET_DUALSPEED=y
1904# CONFIG_USB_ZERO is not set
1905# CONFIG_USB_AUDIO is not set
1906CONFIG_USB_ETH=m
1907CONFIG_USB_ETH_RNDIS=y
1908# CONFIG_USB_ETH_EEM is not set
1909# CONFIG_USB_GADGETFS is not set
1910# CONFIG_USB_FUNCTIONFS is not set
1911CONFIG_USB_FILE_STORAGE=m
1912# CONFIG_FSL_UTP is not set
1913# CONFIG_USB_FILE_STORAGE_TEST is not set
1914# CONFIG_USB_MASS_STORAGE is not set
1915CONFIG_USB_G_SERIAL=m
1916# CONFIG_USB_MIDI_GADGET is not set
1917# CONFIG_USB_G_PRINTER is not set
1918# CONFIG_USB_CDC_COMPOSITE is not set
1919# CONFIG_USB_G_NOKIA is not set
1920# CONFIG_USB_G_MULTI is not set
1921# CONFIG_USB_G_HID is not set
1922# CONFIG_USB_G_WEBCAM is not set
1923
1924#
1925# OTG and related infrastructure
1926#
1927CONFIG_USB_OTG_UTILS=y
1928# CONFIG_USB_GPIO_VBUS is not set
1929# CONFIG_USB_ULPI is not set
1930# CONFIG_NOP_USB_XCEIV is not set
1931CONFIG_MXC_OTG=y
1932CONFIG_MMC=y
1933# CONFIG_MMC_DEBUG is not set
1934CONFIG_MMC_UNSAFE_RESUME=y
1935
1936#
1937# MMC/SD/SDIO Card Drivers
1938#
1939CONFIG_MMC_BLOCK=y
1940CONFIG_MMC_BLOCK_BOUNCE=y
1941# CONFIG_SDIO_UART is not set
1942# CONFIG_MMC_TEST is not set
1943CONFIG_SDIO_UNIFI_FS=m
1944
1945#
1946# MMC/SD/SDIO Host Controller Drivers
1947#
1948# CONFIG_MMC_SDHCI is not set
1949# CONFIG_MMC_MXC is not set
1950CONFIG_MMC_IMX_ESDHCI=y
1951# CONFIG_MMC_IMX_ESDHCI_PIO_MODE is not set
1952# CONFIG_MEMSTICK is not set
1953CONFIG_NEW_LEDS=y
1954CONFIG_LEDS_CLASS=y
1955
1956#
1957# LED drivers
1958#
1959CONFIG_LEDS_MC13892=y
1960# CONFIG_LEDS_PCA9532 is not set
1961CONFIG_LEDS_GPIO=y
1962CONFIG_LEDS_GPIO_PLATFORM=y
1963# CONFIG_LEDS_LP3944 is not set
1964# CONFIG_LEDS_PCA955X is not set
1965# CONFIG_LEDS_DA9052 is not set
1966# CONFIG_LEDS_DAC124S085 is not set
1967# CONFIG_LEDS_PWM is not set
1968# CONFIG_LEDS_REGULATOR is not set
1969# CONFIG_LEDS_BD2802 is not set
1970# CONFIG_LEDS_LT3593 is not set
1971CONFIG_LEDS_TRIGGERS=y
1972
1973#
1974# LED Triggers
1975#
1976CONFIG_LEDS_TRIGGER_TIMER=y
1977CONFIG_LEDS_TRIGGER_HEARTBEAT=y
1978CONFIG_LEDS_TRIGGER_BACKLIGHT=y
1979CONFIG_LEDS_TRIGGER_GPIO=y
1980CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
1981
1982#
1983# iptables trigger is under Netfilter config (LED target)
1984#
1985# CONFIG_ACCESSIBILITY is not set
1986CONFIG_RTC_LIB=y
1987CONFIG_RTC_CLASS=y
1988CONFIG_RTC_HCTOSYS=y
1989CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1990# CONFIG_RTC_DEBUG is not set
1991
1992#
1993# RTC interfaces
1994#
1995CONFIG_RTC_INTF_SYSFS=y
1996CONFIG_RTC_INTF_PROC=y
1997CONFIG_RTC_INTF_DEV=y
1998CONFIG_RTC_INTF_DEV_UIE_EMUL=y
1999# CONFIG_RTC_DRV_TEST is not set
2000
2001#
2002# I2C RTC drivers
2003#
2004# CONFIG_RTC_DRV_DS1307 is not set
2005# CONFIG_RTC_DRV_DS1374 is not set
2006# CONFIG_RTC_DRV_DS1672 is not set
2007# CONFIG_RTC_DRV_MAX6900 is not set
2008# CONFIG_RTC_DRV_RS5C372 is not set
2009# CONFIG_RTC_DRV_ISL1208 is not set
2010# CONFIG_RTC_DRV_X1205 is not set
2011# CONFIG_RTC_DRV_PCF8563 is not set
2012# CONFIG_RTC_DRV_PCF8583 is not set
2013# CONFIG_RTC_DRV_M41T80 is not set
2014# CONFIG_RTC_DRV_BQ32K is not set
2015# CONFIG_RTC_DRV_S35390A is not set
2016# CONFIG_RTC_DRV_FM3130 is not set
2017# CONFIG_RTC_DRV_RX8581 is not set
2018# CONFIG_RTC_DRV_RX8025 is not set
2019
2020#
2021# SPI RTC drivers
2022#
2023# CONFIG_RTC_DRV_M41T94 is not set
2024# CONFIG_RTC_DRV_DS1305 is not set
2025# CONFIG_RTC_DRV_DS1390 is not set
2026# CONFIG_RTC_DRV_MAX6902 is not set
2027# CONFIG_RTC_DRV_R9701 is not set
2028# CONFIG_RTC_DRV_RS5C348 is not set
2029# CONFIG_RTC_DRV_DS3234 is not set
2030# CONFIG_RTC_DRV_PCF2123 is not set
2031
2032#
2033# Platform RTC drivers
2034#
2035# CONFIG_RTC_DRV_CMOS is not set
2036# CONFIG_RTC_DRV_DA9052 is not set
2037# CONFIG_RTC_DRV_DS1286 is not set
2038# CONFIG_RTC_DRV_DS1511 is not set
2039# CONFIG_RTC_DRV_DS1553 is not set
2040# CONFIG_RTC_DRV_DS1742 is not set
2041# CONFIG_RTC_DRV_STK17TA8 is not set
2042# CONFIG_RTC_DRV_M48T86 is not set
2043# CONFIG_RTC_DRV_M48T35 is not set
2044# CONFIG_RTC_DRV_M48T59 is not set
2045# CONFIG_RTC_DRV_MSM6242 is not set
2046# CONFIG_RTC_MXC is not set
2047# CONFIG_RTC_DRV_BQ4802 is not set
2048# CONFIG_RTC_DRV_RP5C01 is not set
2049# CONFIG_RTC_DRV_V3020 is not set
2050
2051#
2052# on-CPU RTC drivers
2053#
2054CONFIG_RTC_DRV_MXC_V2=y
2055# CONFIG_RTC_DRV_IMXDI is not set
2056CONFIG_RTC_MC13892=y
2057CONFIG_DMADEVICES=y
2058# CONFIG_DMADEVICES_DEBUG is not set
2059
2060#
2061# DMA Devices
2062#
2063CONFIG_MXC_PXP=y
2064CONFIG_MXC_PXP_CLIENT_DEVICE=y
2065# CONFIG_TIMB_DMA is not set
2066CONFIG_DMA_ENGINE=y
2067
2068#
2069# DMA Clients
2070#
2071# CONFIG_NET_DMA is not set
2072# CONFIG_ASYNC_TX_DMA is not set
2073# CONFIG_DMATEST is not set
2074# CONFIG_AUXDISPLAY is not set
2075# CONFIG_UIO is not set
2076CONFIG_STAGING=y
2077# CONFIG_STAGING_EXCLUDE_BUILD is not set
2078# CONFIG_VIDEO_TM6000 is not set
2079# CONFIG_USB_IP_COMMON is not set
2080# CONFIG_PRISM2_USB is not set
2081# CONFIG_ECHO is not set
2082# CONFIG_RT2870 is not set
2083# CONFIG_COMEDI is not set
2084# CONFIG_ASUS_OLED is not set
2085# CONFIG_TRANZPORT is not set
2086# CONFIG_POHMELFS is not set
2087# CONFIG_LINE6_USB is not set
2088# CONFIG_VT6656 is not set
2089# CONFIG_FB_UDL is not set
2090
2091#
2092# RAR Register Driver
2093#
2094# CONFIG_IIO is not set
2095# CONFIG_RAMZSWAP is not set
2096# CONFIG_BATMAN_ADV is not set
2097# CONFIG_FB_SM7XX is not set
2098
2099#
2100# Texas Instruments shared transport line discipline
2101#
2102# CONFIG_TI_ST is not set
2103# CONFIG_ST_BT is not set
2104# CONFIG_ADIS16255 is not set
2105CONFIG_ATH6K_LEGACY=m
2106CONFIG_AR600x_SD31_XXX=y
2107# CONFIG_AR600x_WB31_XXX is not set
2108# CONFIG_AR600x_SD32_XXX is not set
2109# CONFIG_AR600x_CUSTOM_XXX is not set
2110# CONFIG_ATH6KL_ENABLE_COEXISTENCE is not set
2111# CONFIG_ATH6KL_HCI_BRIDGE is not set
2112# CONFIG_ATH6KL_CFG80211 is not set
2113# CONFIG_ATH6KL_HTC_RAW_INTERFACE is not set
2114# CONFIG_ATH6KL_VIRTUAL_SCATTER_GATHER is not set
2115# CONFIG_ATH6KL_SKIP_ABI_VERSION_CHECK is not set
2116# CONFIG_ATH6KL_DEBUG is not set
2117
2118#
2119# MXC support drivers
2120#
2121CONFIG_MXC_IPU=y
2122CONFIG_MXC_IPU_V3=y
2123
2124#
2125# MXC SSI support
2126#
2127# CONFIG_MXC_SSI is not set
2128
2129#
2130# MXC Digital Audio Multiplexer support
2131#
2132# CONFIG_MXC_DAM is not set
2133
2134#
2135# MXC PMIC support
2136#
2137CONFIG_MXC_PMIC=y
2138# CONFIG_MXC_PMIC_MC13783 is not set
2139CONFIG_MXC_PMIC_MC13892=y
2140CONFIG_MXC_PMIC_MC34708=y
2141CONFIG_MXC_PMIC_I2C=y
2142CONFIG_MXC_PMIC_SPI=y
2143# CONFIG_MXC_PMIC_MC34704 is not set
2144# CONFIG_MXC_PMIC_MC9SDZ60 is not set
2145# CONFIG_MXC_PMIC_CHARDEV is not set
2146
2147#
2148# MXC PMIC Client Drivers
2149#
2150CONFIG_MXC_MC13892_ADC=y
2151CONFIG_MXC_MC13892_RTC=y
2152CONFIG_MXC_MC13892_LIGHT=y
2153CONFIG_MXC_MC13892_BATTERY=m
2154CONFIG_MXC_MC13892_CONNECTIVITY=y
2155CONFIG_MXC_MC13892_POWER=y
2156CONFIG_MXC_MC34708_ADC=y
2157CONFIG_MXC_MC34708_RTC=y
2158CONFIG_MXC_MC34708_BATTERY=m
2159# CONFIG_MXC_MC34708_PWM is not set
2160# CONFIG_MXC_PMIC_MC9S08DZ60 is not set
2161
2162#
2163# MXC Security Drivers
2164#
2165# CONFIG_MXC_SECURITY_SCC is not set
2166# CONFIG_MXC_SECURITY_SCC2 is not set
2167# CONFIG_MXC_SECURITY_RNG is not set
2168
2169#
2170# SAHARA2 Security Hardware Support
2171#
2172# CONFIG_MXC_SAHARA is not set
2173
2174#
2175# MXC MPEG4 Encoder Kernel module support
2176#
2177# CONFIG_MXC_HMP4E is not set
2178
2179#
2180# MXC HARDWARE EVENT
2181#
2182# CONFIG_MXC_HWEVENT is not set
2183
2184#
2185# MXC VPU(Video Processing Unit) support
2186#
2187CONFIG_MXC_VPU=y
2188# CONFIG_MXC_VPU_DEBUG is not set
2189
2190#
2191# MXC Asynchronous Sample Rate Converter support
2192#
2193CONFIG_MXC_ASRC=y
2194
2195#
2196# MXC Bluetooth support
2197#
2198CONFIG_MXC_BLUETOOTH=m
2199
2200#
2201# Broadcom GPS ioctrl support
2202#
2203CONFIG_GPS_IOCTRL=m
2204
2205#
2206# MXC Media Local Bus Driver
2207#
2208CONFIG_MXC_MLB=m
2209
2210#
2211# i.MX ADC support
2212#
2213# CONFIG_IMX_ADC is not set
2214
2215#
2216# MXC GPU support
2217#
2218CONFIG_MXC_AMD_GPU=y
2219
2220#
2221# File systems
2222#
2223CONFIG_EXT2_FS=y
2224# CONFIG_EXT2_FS_XATTR is not set
2225# CONFIG_EXT2_FS_XIP is not set
2226CONFIG_EXT3_FS=y
2227# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
2228CONFIG_EXT3_FS_XATTR=y
2229# CONFIG_EXT3_FS_POSIX_ACL is not set
2230# CONFIG_EXT3_FS_SECURITY is not set
2231CONFIG_EXT4_FS=y
2232CONFIG_EXT4_FS_XATTR=y
2233# CONFIG_EXT4_FS_POSIX_ACL is not set
2234# CONFIG_EXT4_FS_SECURITY is not set
2235# CONFIG_EXT4_DEBUG is not set
2236CONFIG_JBD=y
2237CONFIG_JBD2=y
2238CONFIG_FS_MBCACHE=y
2239# CONFIG_REISERFS_FS is not set
2240# CONFIG_JFS_FS is not set
2241# CONFIG_FS_POSIX_ACL is not set
2242# CONFIG_XFS_FS is not set
2243# CONFIG_GFS2_FS is not set
2244# CONFIG_OCFS2_FS is not set
2245# CONFIG_BTRFS_FS is not set
2246# CONFIG_NILFS2_FS is not set
2247CONFIG_FILE_LOCKING=y
2248CONFIG_FSNOTIFY=y
2249CONFIG_DNOTIFY=y
2250CONFIG_INOTIFY=y
2251CONFIG_INOTIFY_USER=y
2252# CONFIG_QUOTA is not set
2253# CONFIG_AUTOFS_FS is not set
2254CONFIG_AUTOFS4_FS=m
2255# CONFIG_FUSE_FS is not set
2256
2257#
2258# Caches
2259#
2260# CONFIG_FSCACHE is not set
2261
2262#
2263# CD-ROM/DVD Filesystems
2264#
2265# CONFIG_ISO9660_FS is not set
2266# CONFIG_UDF_FS is not set
2267
2268#
2269# DOS/FAT/NT Filesystems
2270#
2271CONFIG_FAT_FS=y
2272CONFIG_MSDOS_FS=y
2273CONFIG_VFAT_FS=y
2274CONFIG_FAT_DEFAULT_CODEPAGE=437
2275CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
2276# CONFIG_NTFS_FS is not set
2277
2278#
2279# Pseudo filesystems
2280#
2281CONFIG_PROC_FS=y
2282CONFIG_PROC_SYSCTL=y
2283CONFIG_PROC_PAGE_MONITOR=y
2284CONFIG_SYSFS=y
2285CONFIG_TMPFS=y
2286# CONFIG_TMPFS_POSIX_ACL is not set
2287# CONFIG_HUGETLB_PAGE is not set
2288# CONFIG_CONFIGFS_FS is not set
2289CONFIG_MISC_FILESYSTEMS=y
2290# CONFIG_ADFS_FS is not set
2291# CONFIG_AFFS_FS is not set
2292# CONFIG_HFS_FS is not set
2293# CONFIG_HFSPLUS_FS is not set
2294# CONFIG_BEFS_FS is not set
2295# CONFIG_BFS_FS is not set
2296# CONFIG_EFS_FS is not set
2297CONFIG_JFFS2_FS=y
2298CONFIG_JFFS2_FS_DEBUG=0
2299CONFIG_JFFS2_FS_WRITEBUFFER=y
2300# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
2301# CONFIG_JFFS2_SUMMARY is not set
2302# CONFIG_JFFS2_FS_XATTR is not set
2303# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
2304CONFIG_JFFS2_ZLIB=y
2305# CONFIG_JFFS2_LZO is not set
2306CONFIG_JFFS2_RTIME=y
2307# CONFIG_JFFS2_RUBIN is not set
2308CONFIG_UBIFS_FS=y
2309# CONFIG_UBIFS_FS_XATTR is not set
2310# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
2311CONFIG_UBIFS_FS_LZO=y
2312CONFIG_UBIFS_FS_ZLIB=y
2313# CONFIG_UBIFS_FS_DEBUG is not set
2314# CONFIG_LOGFS is not set
2315CONFIG_CRAMFS=y
2316# CONFIG_SQUASHFS is not set
2317# CONFIG_VXFS_FS is not set
2318# CONFIG_MINIX_FS is not set
2319# CONFIG_OMFS_FS is not set
2320# CONFIG_HPFS_FS is not set
2321# CONFIG_QNX4FS_FS is not set
2322# CONFIG_ROMFS_FS is not set
2323# CONFIG_SYSV_FS is not set
2324# CONFIG_UFS_FS is not set
2325CONFIG_NETWORK_FILESYSTEMS=y
2326CONFIG_NFS_FS=y
2327CONFIG_NFS_V3=y
2328# CONFIG_NFS_V3_ACL is not set
2329CONFIG_NFS_V4=y
2330# CONFIG_NFS_V4_1 is not set
2331CONFIG_ROOT_NFS=y
2332# CONFIG_NFSD is not set
2333CONFIG_LOCKD=y
2334CONFIG_LOCKD_V4=y
2335CONFIG_NFS_COMMON=y
2336CONFIG_SUNRPC=y
2337CONFIG_SUNRPC_GSS=y
2338CONFIG_RPCSEC_GSS_KRB5=y
2339# CONFIG_RPCSEC_GSS_SPKM3 is not set
2340# CONFIG_SMB_FS is not set
2341# CONFIG_CEPH_FS is not set
2342# CONFIG_CIFS is not set
2343# CONFIG_NCP_FS is not set
2344# CONFIG_CODA_FS is not set
2345# CONFIG_AFS_FS is not set
2346
2347#
2348# Partition Types
2349#
2350CONFIG_PARTITION_ADVANCED=y
2351# CONFIG_ACORN_PARTITION is not set
2352# CONFIG_OSF_PARTITION is not set
2353# CONFIG_AMIGA_PARTITION is not set
2354# CONFIG_ATARI_PARTITION is not set
2355# CONFIG_MAC_PARTITION is not set
2356CONFIG_MSDOS_PARTITION=y
2357# CONFIG_BSD_DISKLABEL is not set
2358# CONFIG_MINIX_SUBPARTITION is not set
2359# CONFIG_SOLARIS_X86_PARTITION is not set
2360# CONFIG_UNIXWARE_DISKLABEL is not set
2361# CONFIG_LDM_PARTITION is not set
2362# CONFIG_SGI_PARTITION is not set
2363# CONFIG_ULTRIX_PARTITION is not set
2364# CONFIG_SUN_PARTITION is not set
2365# CONFIG_KARMA_PARTITION is not set
2366CONFIG_EFI_PARTITION=y
2367# CONFIG_SYSV68_PARTITION is not set
2368CONFIG_NLS=y
2369CONFIG_NLS_DEFAULT="iso8859-1"
2370CONFIG_NLS_CODEPAGE_437=y
2371# CONFIG_NLS_CODEPAGE_737 is not set
2372# CONFIG_NLS_CODEPAGE_775 is not set
2373# CONFIG_NLS_CODEPAGE_850 is not set
2374# CONFIG_NLS_CODEPAGE_852 is not set
2375# CONFIG_NLS_CODEPAGE_855 is not set
2376# CONFIG_NLS_CODEPAGE_857 is not set
2377# CONFIG_NLS_CODEPAGE_860 is not set
2378# CONFIG_NLS_CODEPAGE_861 is not set
2379# CONFIG_NLS_CODEPAGE_862 is not set
2380# CONFIG_NLS_CODEPAGE_863 is not set
2381# CONFIG_NLS_CODEPAGE_864 is not set
2382# CONFIG_NLS_CODEPAGE_865 is not set
2383# CONFIG_NLS_CODEPAGE_866 is not set
2384# CONFIG_NLS_CODEPAGE_869 is not set
2385# CONFIG_NLS_CODEPAGE_936 is not set
2386# CONFIG_NLS_CODEPAGE_950 is not set
2387# CONFIG_NLS_CODEPAGE_932 is not set
2388# CONFIG_NLS_CODEPAGE_949 is not set
2389# CONFIG_NLS_CODEPAGE_874 is not set
2390# CONFIG_NLS_ISO8859_8 is not set
2391# CONFIG_NLS_CODEPAGE_1250 is not set
2392# CONFIG_NLS_CODEPAGE_1251 is not set
2393CONFIG_NLS_ASCII=m
2394CONFIG_NLS_ISO8859_1=y
2395# CONFIG_NLS_ISO8859_2 is not set
2396# CONFIG_NLS_ISO8859_3 is not set
2397# CONFIG_NLS_ISO8859_4 is not set
2398# CONFIG_NLS_ISO8859_5 is not set
2399# CONFIG_NLS_ISO8859_6 is not set
2400# CONFIG_NLS_ISO8859_7 is not set
2401# CONFIG_NLS_ISO8859_9 is not set
2402# CONFIG_NLS_ISO8859_13 is not set
2403# CONFIG_NLS_ISO8859_14 is not set
2404# CONFIG_NLS_ISO8859_15 is not set
2405# CONFIG_NLS_KOI8_R is not set
2406# CONFIG_NLS_KOI8_U is not set
2407CONFIG_NLS_UTF8=m
2408# CONFIG_DLM is not set
2409
2410#
2411# Kernel hacking
2412#
2413# CONFIG_PRINTK_TIME is not set
2414CONFIG_ENABLE_WARN_DEPRECATED=y
2415CONFIG_ENABLE_MUST_CHECK=y
2416CONFIG_FRAME_WARN=1024
2417# CONFIG_MAGIC_SYSRQ is not set
2418# CONFIG_STRIP_ASM_SYMS is not set
2419# CONFIG_UNUSED_SYMBOLS is not set
2420# CONFIG_DEBUG_FS is not set
2421# CONFIG_HEADERS_CHECK is not set
2422# CONFIG_DEBUG_KERNEL is not set
2423# CONFIG_SLUB_DEBUG_ON is not set
2424# CONFIG_SLUB_STATS is not set
2425CONFIG_DEBUG_BUGVERBOSE=y
2426# CONFIG_DEBUG_MEMORY_INIT is not set
2427# CONFIG_RCU_CPU_STALL_DETECTOR is not set
2428# CONFIG_LATENCYTOP is not set
2429CONFIG_SYSCTL_SYSCALL_CHECK=y
2430CONFIG_HAVE_FUNCTION_TRACER=y
2431CONFIG_TRACING_SUPPORT=y
2432CONFIG_FTRACE=y
2433# CONFIG_FUNCTION_TRACER is not set
2434# CONFIG_IRQSOFF_TRACER is not set
2435# CONFIG_PREEMPT_TRACER is not set
2436# CONFIG_SCHED_TRACER is not set
2437# CONFIG_ENABLE_DEFAULT_TRACERS is not set
2438# CONFIG_BOOT_TRACER is not set
2439CONFIG_BRANCH_PROFILE_NONE=y
2440# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
2441# CONFIG_PROFILE_ALL_BRANCHES is not set
2442# CONFIG_STACK_TRACER is not set
2443# CONFIG_KMEMTRACE is not set
2444# CONFIG_WORKQUEUE_TRACER is not set
2445# CONFIG_BLK_DEV_IO_TRACE is not set
2446# CONFIG_ATOMIC64_SELFTEST is not set
2447# CONFIG_SAMPLES is not set
2448CONFIG_HAVE_ARCH_KGDB=y
2449CONFIG_ARM_UNWIND=y
2450# CONFIG_DEBUG_USER is not set
2451# CONFIG_OC_ETM is not set
2452
2453#
2454# Security options
2455#
2456# CONFIG_KEYS is not set
2457# CONFIG_SECURITY is not set
2458# CONFIG_SECURITYFS is not set
2459# CONFIG_DEFAULT_SECURITY_SELINUX is not set
2460# CONFIG_DEFAULT_SECURITY_SMACK is not set
2461# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
2462CONFIG_DEFAULT_SECURITY_DAC=y
2463CONFIG_DEFAULT_SECURITY=""
2464CONFIG_CRYPTO=y
2465
2466#
2467# Crypto core or helper
2468#
2469CONFIG_CRYPTO_ALGAPI=y
2470CONFIG_CRYPTO_ALGAPI2=y
2471CONFIG_CRYPTO_AEAD2=y
2472CONFIG_CRYPTO_BLKCIPHER=y
2473CONFIG_CRYPTO_BLKCIPHER2=y
2474CONFIG_CRYPTO_HASH=y
2475CONFIG_CRYPTO_HASH2=y
2476CONFIG_CRYPTO_RNG2=y
2477CONFIG_CRYPTO_PCOMP=y
2478CONFIG_CRYPTO_MANAGER=y
2479CONFIG_CRYPTO_MANAGER2=y
2480CONFIG_CRYPTO_MANAGER_TESTS=y
2481# CONFIG_CRYPTO_GF128MUL is not set
2482# CONFIG_CRYPTO_NULL is not set
2483CONFIG_CRYPTO_WORKQUEUE=y
2484# CONFIG_CRYPTO_CRYPTD is not set
2485# CONFIG_CRYPTO_AUTHENC is not set
2486CONFIG_CRYPTO_TEST=m
2487CONFIG_CRYPTO_CRYPTODEV=y
2488
2489#
2490# Authenticated Encryption with Associated Data
2491#
2492# CONFIG_CRYPTO_CCM is not set
2493# CONFIG_CRYPTO_GCM is not set
2494# CONFIG_CRYPTO_SEQIV is not set
2495
2496#
2497# Block modes
2498#
2499CONFIG_CRYPTO_CBC=y
2500# CONFIG_CRYPTO_CTR is not set
2501# CONFIG_CRYPTO_CTS is not set
2502CONFIG_CRYPTO_ECB=y
2503# CONFIG_CRYPTO_LRW is not set
2504# CONFIG_CRYPTO_PCBC is not set
2505# CONFIG_CRYPTO_XTS is not set
2506
2507#
2508# Hash modes
2509#
2510# CONFIG_CRYPTO_HMAC is not set
2511# CONFIG_CRYPTO_XCBC is not set
2512# CONFIG_CRYPTO_VMAC is not set
2513
2514#
2515# Digest
2516#
2517# CONFIG_CRYPTO_CRC32C is not set
2518# CONFIG_CRYPTO_GHASH is not set
2519# CONFIG_CRYPTO_MD4 is not set
2520CONFIG_CRYPTO_MD5=y
2521# CONFIG_CRYPTO_MICHAEL_MIC is not set
2522# CONFIG_CRYPTO_RMD128 is not set
2523# CONFIG_CRYPTO_RMD160 is not set
2524# CONFIG_CRYPTO_RMD256 is not set
2525# CONFIG_CRYPTO_RMD320 is not set
2526# CONFIG_CRYPTO_SHA1 is not set
2527# CONFIG_CRYPTO_SHA256 is not set
2528# CONFIG_CRYPTO_SHA512 is not set
2529# CONFIG_CRYPTO_TGR192 is not set
2530# CONFIG_CRYPTO_WP512 is not set
2531
2532#
2533# Ciphers
2534#
2535CONFIG_CRYPTO_AES=y
2536# CONFIG_CRYPTO_ANUBIS is not set
2537# CONFIG_CRYPTO_ARC4 is not set
2538# CONFIG_CRYPTO_BLOWFISH is not set
2539# CONFIG_CRYPTO_CAMELLIA is not set
2540# CONFIG_CRYPTO_CAST5 is not set
2541# CONFIG_CRYPTO_CAST6 is not set
2542CONFIG_CRYPTO_DES=y
2543# CONFIG_CRYPTO_FCRYPT is not set
2544# CONFIG_CRYPTO_KHAZAD is not set
2545# CONFIG_CRYPTO_SALSA20 is not set
2546# CONFIG_CRYPTO_SEED is not set
2547# CONFIG_CRYPTO_SERPENT is not set
2548# CONFIG_CRYPTO_TEA is not set
2549# CONFIG_CRYPTO_TWOFISH is not set
2550
2551#
2552# Compression
2553#
2554CONFIG_CRYPTO_DEFLATE=y
2555# CONFIG_CRYPTO_ZLIB is not set
2556CONFIG_CRYPTO_LZO=y
2557
2558#
2559# Random Number Generation
2560#
2561# CONFIG_CRYPTO_ANSI_CPRNG is not set
2562CONFIG_CRYPTO_HW=y
2563# CONFIG_CRYPTO_DEV_DCP is not set
2564# CONFIG_BINARY_PRINTF is not set
2565
2566#
2567# Library routines
2568#
2569CONFIG_BITREVERSE=y
2570CONFIG_GENERIC_FIND_LAST_BIT=y
2571CONFIG_CRC_CCITT=m
2572CONFIG_CRC16=y
2573# CONFIG_CRC_T10DIF is not set
2574# CONFIG_CRC_ITU_T is not set
2575CONFIG_CRC32=y
2576# CONFIG_CRC7 is not set
2577# CONFIG_LIBCRC32C is not set
2578CONFIG_ZLIB_INFLATE=y
2579CONFIG_ZLIB_DEFLATE=y
2580CONFIG_LZO_COMPRESS=y
2581CONFIG_LZO_DECOMPRESS=y
2582CONFIG_GENERIC_ALLOCATOR=y
2583CONFIG_HAS_IOMEM=y
2584CONFIG_HAS_IOPORT=y
2585CONFIG_HAS_DMA=y
2586CONFIG_NLATTR=y
diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch b/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch
new file mode 100644
index 0000000..6b89bb6
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-2.6.35.3/mxs-duart-use-ttyAMA-for-device-name.patch
@@ -0,0 +1,42 @@
1From e0b2222000d04b43e7892148dc9892c9375de939 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 5 May 2012 15:04:24 -0300
4Subject: [PATCH] mxs-duart: use ttyAMA for device name
5
6This allow to easy configuration of u-boot avoiding divergences
7between Freescale's and mainline kernels.
8
9Upstream-Status: Inapropriate [configuration]
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 drivers/serial/mxs-duart.c | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16diff --git a/drivers/serial/mxs-duart.c b/drivers/serial/mxs-duart.c
17index 64e5057..2ba0c33 100644
18--- a/drivers/serial/mxs-duart.c
19+++ b/drivers/serial/mxs-duart.c
20@@ -665,7 +665,7 @@ static int __init duart_console_setup(struct console *co, char *options)
21 }
22
23 static struct console duart_console = {
24- .name = "ttyAM",
25+ .name = "ttyAMA",
26 .write = duart_console_write,
27 .device = uart_console_device,
28 .setup = duart_console_setup,
29@@ -688,8 +688,8 @@ console_initcall(duart_console_init);
30
31 static struct uart_driver duart_drv = {
32 .owner = THIS_MODULE,
33- .driver_name = "ttyAM",
34- .dev_name = "ttyAM",
35+ .driver_name = "ttyAMA",
36+ .dev_name = "ttyAMA",
37 .major = SERIAL_DUART_MAJOR,
38 .minor = SERIAL_DUART_MINOR,
39 .nr = 1,
40--
411.7.10
42
diff --git a/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch b/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch
new file mode 100644
index 0000000..7d12941
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-2.6.35.3/perf-avoid-use-sysroot-headers.patch
@@ -0,0 +1,33 @@
1From 9a06d08e43923f8ce35f1c649334f14d2e81941b Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Tue, 19 Mar 2013 14:04:08 -0300
4Subject: [PATCH] perf: Avoid use of sysroot's Linux headers
5
6As Yocto now use a newer Linux headers package we end having a build
7failure in perf as 'stddef.h' has changed and does not provide NULL
8definiton anymore. To workaround it we add the srcdir onto search path
9for include files, before sysroot one.
10
11Upstream-Status: Inappropriate [build system specific change]
12
13Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
14---
15 tools/perf/Makefile | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/tools/perf/Makefile b/tools/perf/Makefile
19index 854652a..9605d46 100644
20--- a/tools/perf/Makefile
21+++ b/tools/perf/Makefile
22@@ -301,7 +301,7 @@ endif
23 # Those must not be GNU-specific; they are shared with perl/ which may
24 # be built by a different compiler. (Note that this is an artifact now
25 # but it still might be nice to keep that distinction.)
26-BASIC_CFLAGS = -Iutil/include -Iarch/$(ARCH)/include
27+BASIC_CFLAGS = -Iutil/include -Iarch/$(ARCH)/include -I../../include
28 BASIC_LDFLAGS =
29
30 # Guard against environment variables
31--
321.8.1
33
diff --git a/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig
new file mode 100644
index 0000000..fa2eada
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-3.10.17/mx6/defconfig
@@ -0,0 +1,358 @@
1CONFIG_KERNEL_LZO=y
2CONFIG_SYSVIPC=y
3CONFIG_NO_HZ=y
4CONFIG_HIGH_RES_TIMERS=y
5CONFIG_IKCONFIG=y
6CONFIG_IKCONFIG_PROC=y
7CONFIG_LOG_BUF_SHIFT=18
8CONFIG_CGROUPS=y
9CONFIG_RELAY=y
10CONFIG_BLK_DEV_INITRD=y
11CONFIG_EXPERT=y
12CONFIG_PERF_EVENTS=y
13# CONFIG_SLUB_DEBUG is not set
14# CONFIG_COMPAT_BRK is not set
15CONFIG_MODULES=y
16CONFIG_MODULE_UNLOAD=y
17CONFIG_MODVERSIONS=y
18CONFIG_MODULE_SRCVERSION_ALL=y
19# CONFIG_BLK_DEV_BSG is not set
20CONFIG_GPIO_PCA953X=y
21CONFIG_ARCH_MXC=y
22CONFIG_MXC_DEBUG_BOARD=y
23CONFIG_MACH_IMX51_DT=y
24CONFIG_MACH_EUKREA_CPUIMX51SD=y
25CONFIG_SOC_IMX53=y
26CONFIG_SOC_IMX6Q=y
27CONFIG_SOC_IMX6SL=y
28CONFIG_SOC_VF610=y
29# CONFIG_SWP_EMULATE is not set
30CONFIG_SMP=y
31CONFIG_VMSPLIT_2G=y
32CONFIG_PREEMPT=y
33CONFIG_AEABI=y
34# CONFIG_OABI_COMPAT is not set
35CONFIG_HIGHMEM=y
36CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
37CONFIG_CPU_FREQ=y
38CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
39CONFIG_CPU_FREQ_GOV_POWERSAVE=y
40CONFIG_CPU_FREQ_GOV_USERSPACE=y
41CONFIG_CPU_FREQ_GOV_ONDEMAND=y
42CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
43CONFIG_ARM_IMX6_CPUFREQ=y
44CONFIG_CPU_IDLE=y
45CONFIG_VFP=y
46CONFIG_NEON=y
47CONFIG_BINFMT_MISC=m
48CONFIG_PM_RUNTIME=y
49CONFIG_PM_DEBUG=y
50CONFIG_PM_TEST_SUSPEND=y
51CONFIG_NET=y
52CONFIG_PACKET=y
53CONFIG_UNIX=y
54CONFIG_INET=y
55CONFIG_IP_PNP=y
56CONFIG_IP_PNP_DHCP=y
57# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
58# CONFIG_INET_XFRM_MODE_TUNNEL is not set
59# CONFIG_INET_XFRM_MODE_BEET is not set
60# CONFIG_INET_LRO is not set
61CONFIG_IPV6=y
62CONFIG_NETFILTER=y
63CONFIG_VLAN_8021Q=y
64CONFIG_CAN=y
65CONFIG_CAN_FLEXCAN=y
66CONFIG_CFG80211=y
67CONFIG_CFG80211_WEXT=y
68CONFIG_MAC80211=y
69CONFIG_DEVTMPFS=y
70CONFIG_DEVTMPFS_MOUNT=y
71# CONFIG_STANDALONE is not set
72CONFIG_CMA=y
73CONFIG_CMA_SIZE_MBYTES=320
74CONFIG_IMX_WEIM=y
75CONFIG_CONNECTOR=y
76CONFIG_MTD=y
77CONFIG_MTD_CMDLINE_PARTS=y
78CONFIG_MTD_BLOCK=y
79CONFIG_MTD_CFI=y
80CONFIG_MTD_JEDECPROBE=y
81CONFIG_MTD_CFI_INTELEXT=y
82CONFIG_MTD_CFI_AMDSTD=y
83CONFIG_MTD_CFI_STAA=y
84CONFIG_MTD_PHYSMAP_OF=y
85CONFIG_MTD_DATAFLASH=y
86CONFIG_MTD_M25P80=y
87CONFIG_MTD_SST25L=y
88CONFIG_MTD_NAND=y
89CONFIG_MTD_NAND_GPMI_NAND=y
90CONFIG_MTD_NAND_MXC=y
91CONFIG_MTD_UBI=y
92CONFIG_BLK_DEV_LOOP=y
93CONFIG_BLK_DEV_RAM=y
94CONFIG_BLK_DEV_RAM_SIZE=65536
95CONFIG_EEPROM_AT24=y
96CONFIG_EEPROM_AT25=y
97# CONFIG_SCSI_PROC_FS is not set
98CONFIG_BLK_DEV_SD=y
99CONFIG_SCSI_MULTI_LUN=y
100CONFIG_SCSI_CONSTANTS=y
101CONFIG_SCSI_LOGGING=y
102CONFIG_SCSI_SCAN_ASYNC=y
103# CONFIG_SCSI_LOWLEVEL is not set
104CONFIG_ATA=y
105CONFIG_SATA_AHCI_PLATFORM=y
106CONFIG_AHCI_IMX=y
107CONFIG_PATA_IMX=y
108CONFIG_NETDEVICES=y
109# CONFIG_NET_VENDOR_BROADCOM is not set
110CONFIG_CS89x0=y
111CONFIG_CS89x0_PLATFORM=y
112# CONFIG_NET_VENDOR_FARADAY is not set
113# CONFIG_NET_VENDOR_INTEL is not set
114# CONFIG_NET_VENDOR_MARVELL is not set
115# CONFIG_NET_VENDOR_MICREL is not set
116# CONFIG_NET_VENDOR_MICROCHIP is not set
117# CONFIG_NET_VENDOR_NATSEMI is not set
118# CONFIG_NET_VENDOR_SEEQ is not set
119CONFIG_SMC91X=y
120CONFIG_SMC911X=y
121CONFIG_SMSC911X=y
122# CONFIG_NET_VENDOR_STMICRO is not set
123CONFIG_ATH_CARDS=y
124CONFIG_ATH6KL=m
125CONFIG_ATH6KL_SDIO=m
126# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
127CONFIG_INPUT_EVDEV=y
128CONFIG_INPUT_EVBUG=m
129CONFIG_KEYBOARD_GPIO=y
130CONFIG_KEYBOARD_IMX=y
131CONFIG_MOUSE_PS2=m
132CONFIG_MOUSE_PS2_ELANTECH=y
133CONFIG_INPUT_TOUCHSCREEN=y
134CONFIG_TOUCHSCREEN_EGALAX=y
135CONFIG_TOUCHSCREEN_ELAN=y
136CONFIG_TOUCHSCREEN_MAX11801=y
137CONFIG_TOUCHSCREEN_MC13783=y
138CONFIG_INPUT_MISC=y
139CONFIG_INPUT_MMA8450=y
140CONFIG_INPUT_ISL29023=y
141CONFIG_SERIO_SERPORT=m
142CONFIG_VT_HW_CONSOLE_BINDING=y
143# CONFIG_LEGACY_PTYS is not set
144# CONFIG_DEVKMEM is not set
145CONFIG_SERIAL_IMX=y
146CONFIG_SERIAL_IMX_CONSOLE=y
147CONFIG_SERIAL_FSL_LPUART=y
148CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
149CONFIG_FSL_OTP=y
150CONFIG_MXS_VIIM=y
151# CONFIG_I2C_COMPAT is not set
152CONFIG_I2C_CHARDEV=y
153# CONFIG_I2C_HELPER_AUTO is not set
154CONFIG_I2C_ALGOPCF=m
155CONFIG_I2C_ALGOPCA=m
156CONFIG_I2C_IMX=y
157CONFIG_SPI=y
158CONFIG_SPI_IMX=y
159CONFIG_GPIO_SYSFS=y
160CONFIG_POWER_SUPPLY=y
161CONFIG_SABRESD_MAX8903=y
162CONFIG_IMX6_USB_CHARGER=y
163CONFIG_SENSORS_MAX17135=y
164CONFIG_SENSORS_MAG3110=y
165CONFIG_THERMAL=y
166CONFIG_CPU_THERMAL=y
167CONFIG_IMX_THERMAL=y
168CONFIG_DEVICE_THERMAL=y
169CONFIG_WATCHDOG=y
170CONFIG_IMX2_WDT=y
171CONFIG_MFD_DA9052_I2C=y
172CONFIG_MFD_MC13XXX_SPI=y
173CONFIG_MFD_MC13XXX_I2C=y
174CONFIG_MFD_MAX17135=y
175CONFIG_MFD_SI476X_CORE=y
176CONFIG_REGULATOR=y
177CONFIG_REGULATOR_FIXED_VOLTAGE=y
178CONFIG_REGULATOR_DA9052=y
179CONFIG_REGULATOR_ANATOP=y
180CONFIG_REGULATOR_MC13783=y
181CONFIG_REGULATOR_MC13892=y
182CONFIG_REGULATOR_MAX17135=y
183CONFIG_REGULATOR_PFUZE100=y
184CONFIG_MEDIA_SUPPORT=y
185CONFIG_MEDIA_CAMERA_SUPPORT=y
186CONFIG_MEDIA_RADIO_SUPPORT=y
187CONFIG_VIDEO_V4L2_INT_DEVICE=y
188CONFIG_MEDIA_USB_SUPPORT=y
189CONFIG_USB_VIDEO_CLASS=m
190CONFIG_V4L_PLATFORM_DRIVERS=y
191CONFIG_VIDEO_MXC_OUTPUT=y
192CONFIG_VIDEO_MXC_CAPTURE=m
193CONFIG_VIDEO_MXC_CSI_CAMERA=m
194CONFIG_MXC_CAMERA_OV5640=m
195CONFIG_MXC_CAMERA_OV5642=m
196CONFIG_MXC_CAMERA_OV5640_MIPI=m
197CONFIG_MXC_TVIN_ADV7180=m
198CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
199CONFIG_VIDEO_MXC_IPU_OUTPUT=y
200CONFIG_VIDEO_MXC_PXP_V4L2=y
201CONFIG_SOC_CAMERA=y
202CONFIG_VIDEO_MX3=y
203CONFIG_RADIO_SI476X=y
204CONFIG_SOC_CAMERA_OV2640=y
205CONFIG_DRM=y
206CONFIG_DRM_VIVANTE=y
207CONFIG_FB=y
208CONFIG_FB_MXS=y
209CONFIG_BACKLIGHT_LCD_SUPPORT=y
210CONFIG_LCD_CLASS_DEVICE=y
211CONFIG_LCD_L4F00242T03=y
212CONFIG_LCD_PLATFORM=y
213CONFIG_BACKLIGHT_CLASS_DEVICE=y
214CONFIG_BACKLIGHT_PWM=y
215CONFIG_FB_MXC_SYNC_PANEL=y
216CONFIG_FB_MXC_LDB=y
217CONFIG_FB_MXC_MIPI_DSI=y
218CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
219CONFIG_FB_MXC_HDMI=y
220CONFIG_FB_MXC_EINK_PANEL=y
221CONFIG_FB_MXS_SII902X=y
222CONFIG_HANNSTAR_CABC=y
223CONFIG_FRAMEBUFFER_CONSOLE=y
224CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
225CONFIG_FONTS=y
226CONFIG_FONT_8x8=y
227CONFIG_FONT_8x16=y
228CONFIG_LOGO=y
229CONFIG_SOUND=y
230CONFIG_SND=y
231CONFIG_SND_USB_AUDIO=m
232CONFIG_SND_SOC=y
233CONFIG_SND_IMX_SOC=y
234CONFIG_SND_SOC_EUKREA_TLV320=y
235CONFIG_SND_SOC_IMX_CS42888=y
236CONFIG_SND_SOC_IMX_WM8962=y
237CONFIG_SND_SOC_IMX_SGTL5000=y
238CONFIG_SND_SOC_IMX_SPDIF=y
239CONFIG_SND_SOC_IMX_MC13783=y
240CONFIG_SND_SOC_IMX_HDMI=y
241CONFIG_SND_SOC_IMX_SI476X=y
242CONFIG_USB=y
243CONFIG_USB_EHCI_HCD=y
244CONFIG_USB_STORAGE=y
245CONFIG_USB_CHIPIDEA=y
246CONFIG_USB_CHIPIDEA_UDC=y
247CONFIG_USB_CHIPIDEA_HOST=y
248CONFIG_USB_PHY=y
249CONFIG_NOP_USB_XCEIV=y
250CONFIG_USB_MXS_PHY=y
251CONFIG_USB_GADGET=y
252CONFIG_USB_ZERO=m
253CONFIG_USB_ETH=m
254CONFIG_USB_MASS_STORAGE=m
255CONFIG_USB_G_SERIAL=m
256CONFIG_MMC=y
257CONFIG_MMC_UNSAFE_RESUME=y
258CONFIG_MMC_SDHCI=y
259CONFIG_MMC_SDHCI_PLTFM=y
260CONFIG_MMC_SDHCI_ESDHC_IMX=y
261CONFIG_MXC_IPU=y
262CONFIG_MXC_GPU_VIV=y
263CONFIG_MXC_ASRC=y
264CONFIG_MXC_MIPI_CSI2=y
265CONFIG_MXC_MLB150=m
266CONFIG_NEW_LEDS=y
267CONFIG_LEDS_CLASS=y
268CONFIG_LEDS_GPIO=y
269CONFIG_LEDS_TRIGGERS=y
270CONFIG_LEDS_TRIGGER_GPIO=y
271CONFIG_RTC_CLASS=y
272CONFIG_RTC_INTF_DEV_UIE_EMUL=y
273CONFIG_RTC_DRV_MC13XXX=y
274CONFIG_RTC_DRV_MXC=y
275CONFIG_RTC_DRV_SNVS=y
276CONFIG_DMADEVICES=y
277CONFIG_MXC_PXP_V2=y
278CONFIG_IMX_SDMA=y
279CONFIG_MXS_DMA=y
280CONFIG_STAGING=y
281CONFIG_COMMON_CLK_DEBUG=y
282# CONFIG_IOMMU_SUPPORT is not set
283CONFIG_PWM=y
284CONFIG_PWM_IMX=y
285CONFIG_EXT2_FS=y
286CONFIG_EXT2_FS_XATTR=y
287CONFIG_EXT2_FS_POSIX_ACL=y
288CONFIG_EXT2_FS_SECURITY=y
289CONFIG_EXT3_FS=y
290CONFIG_EXT3_FS_POSIX_ACL=y
291CONFIG_EXT3_FS_SECURITY=y
292CONFIG_EXT4_FS=y
293CONFIG_EXT4_FS_POSIX_ACL=y
294CONFIG_EXT4_FS_SECURITY=y
295CONFIG_QUOTA=y
296CONFIG_QUOTA_NETLINK_INTERFACE=y
297# CONFIG_PRINT_QUOTA_WARNING is not set
298CONFIG_AUTOFS4_FS=y
299CONFIG_FUSE_FS=y
300CONFIG_ISO9660_FS=m
301CONFIG_JOLIET=y
302CONFIG_ZISOFS=y
303CONFIG_UDF_FS=m
304CONFIG_MSDOS_FS=m
305CONFIG_VFAT_FS=y
306CONFIG_TMPFS=y
307CONFIG_JFFS2_FS=y
308CONFIG_UBIFS_FS=y
309CONFIG_NFS_FS=y
310CONFIG_NFS_V3_ACL=y
311CONFIG_NFS_V4=y
312CONFIG_ROOT_NFS=y
313CONFIG_NLS_DEFAULT="cp437"
314CONFIG_NLS_CODEPAGE_437=y
315CONFIG_NLS_ASCII=y
316CONFIG_NLS_ISO8859_1=y
317CONFIG_NLS_ISO8859_15=m
318CONFIG_NLS_UTF8=y
319CONFIG_MAGIC_SYSRQ=y
320# CONFIG_SCHED_DEBUG is not set
321# CONFIG_DEBUG_BUGVERBOSE is not set
322# CONFIG_FTRACE is not set
323CONFIG_SECURITYFS=y
324CONFIG_CRYPTO_USER=y
325CONFIG_CRYPTO_TEST=m
326CONFIG_CRYPTO_CCM=y
327CONFIG_CRYPTO_GCM=y
328CONFIG_CRYPTO_CBC=y
329CONFIG_CRYPTO_CTS=y
330CONFIG_CRYPTO_ECB=y
331CONFIG_CRYPTO_LRW=y
332CONFIG_CRYPTO_XTS=y
333CONFIG_CRYPTO_MD4=y
334CONFIG_CRYPTO_MD5=y
335CONFIG_CRYPTO_MICHAEL_MIC=y
336CONFIG_CRYPTO_RMD128=y
337CONFIG_CRYPTO_RMD160=y
338CONFIG_CRYPTO_RMD256=y
339CONFIG_CRYPTO_RMD320=y
340CONFIG_CRYPTO_SHA1=y
341CONFIG_CRYPTO_SHA256=y
342CONFIG_CRYPTO_SHA512=y
343CONFIG_CRYPTO_TGR192=y
344CONFIG_CRYPTO_WP512=y
345CONFIG_CRYPTO_BLOWFISH=y
346CONFIG_CRYPTO_CAMELLIA=y
347CONFIG_CRYPTO_DES=y
348CONFIG_CRYPTO_TWOFISH=y
349# CONFIG_CRYPTO_ANSI_CPRNG is not set
350CONFIG_CRYPTO_DEV_FSL_CAAM=y
351CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
352CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
353CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
354CONFIG_CRC_CCITT=m
355CONFIG_CRC_T10DIF=y
356CONFIG_CRC7=m
357CONFIG_LIBCRC32C=m
358CONFIG_FHANDLE=y
diff --git a/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig
new file mode 100644
index 0000000..a4e880b
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-mfgtool-3.10.17/mx6/defconfig
@@ -0,0 +1,341 @@
1CONFIG_KERNEL_LZO=y
2CONFIG_SYSVIPC=y
3CONFIG_NO_HZ=y
4CONFIG_HIGH_RES_TIMERS=y
5CONFIG_IKCONFIG=y
6CONFIG_IKCONFIG_PROC=y
7CONFIG_LOG_BUF_SHIFT=18
8CONFIG_CGROUPS=y
9CONFIG_RELAY=y
10CONFIG_BLK_DEV_INITRD=y
11CONFIG_EXPERT=y
12CONFIG_PERF_EVENTS=y
13# CONFIG_SLUB_DEBUG is not set
14# CONFIG_COMPAT_BRK is not set
15CONFIG_MODULES=y
16CONFIG_MODULE_UNLOAD=y
17CONFIG_MODVERSIONS=y
18CONFIG_MODULE_SRCVERSION_ALL=y
19# CONFIG_BLK_DEV_BSG is not set
20CONFIG_GPIO_PCA953X=y
21CONFIG_ARCH_MXC=y
22CONFIG_MXC_DEBUG_BOARD=y
23CONFIG_MACH_IMX51_DT=y
24CONFIG_MACH_EUKREA_CPUIMX51SD=y
25CONFIG_SOC_IMX53=y
26CONFIG_SOC_IMX6Q=y
27CONFIG_SOC_IMX6SL=y
28CONFIG_SOC_VF610=y
29# CONFIG_SWP_EMULATE is not set
30CONFIG_SMP=y
31CONFIG_VMSPLIT_2G=y
32CONFIG_PREEMPT_VOLUNTARY=y
33CONFIG_AEABI=y
34# CONFIG_OABI_COMPAT is not set
35CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
36CONFIG_CPU_FREQ=y
37CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
38CONFIG_CPU_FREQ_GOV_POWERSAVE=y
39CONFIG_CPU_FREQ_GOV_USERSPACE=y
40CONFIG_CPU_FREQ_GOV_ONDEMAND=y
41CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
42CONFIG_ARM_IMX6_CPUFREQ=y
43CONFIG_CPU_IDLE=y
44CONFIG_VFP=y
45CONFIG_NEON=y
46CONFIG_BINFMT_MISC=m
47CONFIG_PM_RUNTIME=y
48CONFIG_PM_DEBUG=y
49CONFIG_PM_TEST_SUSPEND=y
50CONFIG_NET=y
51CONFIG_PACKET=y
52CONFIG_UNIX=y
53CONFIG_INET=y
54CONFIG_IP_PNP=y
55CONFIG_IP_PNP_DHCP=y
56# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
57# CONFIG_INET_XFRM_MODE_TUNNEL is not set
58# CONFIG_INET_XFRM_MODE_BEET is not set
59# CONFIG_INET_LRO is not set
60CONFIG_IPV6=y
61CONFIG_NETFILTER=y
62CONFIG_VLAN_8021Q=y
63CONFIG_CFG80211=y
64CONFIG_CFG80211_WEXT=y
65CONFIG_MAC80211=y
66CONFIG_DEVTMPFS=y
67CONFIG_DEVTMPFS_MOUNT=y
68# CONFIG_STANDALONE is not set
69CONFIG_CMA=y
70CONFIG_CMA_SIZE_MBYTES=256
71CONFIG_IMX_WEIM=y
72CONFIG_CONNECTOR=y
73CONFIG_MTD=y
74CONFIG_MTD_CMDLINE_PARTS=y
75CONFIG_MTD_BLOCK=y
76CONFIG_MTD_CFI=y
77CONFIG_MTD_JEDECPROBE=y
78CONFIG_MTD_CFI_INTELEXT=y
79CONFIG_MTD_CFI_AMDSTD=y
80CONFIG_MTD_CFI_STAA=y
81CONFIG_MTD_PHYSMAP_OF=y
82CONFIG_MTD_DATAFLASH=y
83CONFIG_MTD_M25P80=y
84CONFIG_MTD_SST25L=y
85CONFIG_MTD_NAND=y
86CONFIG_MTD_NAND_GPMI_NAND=y
87CONFIG_MTD_NAND_MXC=y
88CONFIG_MTD_UBI=y
89CONFIG_BLK_DEV_LOOP=y
90CONFIG_BLK_DEV_RAM=y
91CONFIG_BLK_DEV_RAM_SIZE=65536
92CONFIG_EEPROM_AT24=y
93CONFIG_EEPROM_AT25=y
94# CONFIG_SCSI_PROC_FS is not set
95CONFIG_BLK_DEV_SD=y
96CONFIG_SCSI_MULTI_LUN=y
97CONFIG_SCSI_CONSTANTS=y
98CONFIG_SCSI_LOGGING=y
99CONFIG_SCSI_SCAN_ASYNC=y
100# CONFIG_SCSI_LOWLEVEL is not set
101CONFIG_ATA=y
102CONFIG_SATA_AHCI_PLATFORM=y
103CONFIG_AHCI_IMX=y
104CONFIG_PATA_IMX=y
105CONFIG_NETDEVICES=y
106# CONFIG_NET_VENDOR_BROADCOM is not set
107CONFIG_CS89x0=y
108CONFIG_CS89x0_PLATFORM=y
109# CONFIG_NET_VENDOR_FARADAY is not set
110# CONFIG_NET_VENDOR_INTEL is not set
111# CONFIG_NET_VENDOR_MARVELL is not set
112# CONFIG_NET_VENDOR_MICREL is not set
113# CONFIG_NET_VENDOR_MICROCHIP is not set
114# CONFIG_NET_VENDOR_NATSEMI is not set
115# CONFIG_NET_VENDOR_SEEQ is not set
116CONFIG_SMC91X=y
117CONFIG_SMC911X=y
118CONFIG_SMSC911X=y
119# CONFIG_NET_VENDOR_STMICRO is not set
120CONFIG_ATH_CARDS=y
121CONFIG_ATH6KL=m
122CONFIG_ATH6KL_SDIO=m
123# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
124CONFIG_INPUT_EVDEV=y
125CONFIG_INPUT_EVBUG=m
126CONFIG_KEYBOARD_GPIO=y
127CONFIG_KEYBOARD_IMX=y
128CONFIG_MOUSE_PS2=m
129CONFIG_MOUSE_PS2_ELANTECH=y
130CONFIG_INPUT_TOUCHSCREEN=y
131CONFIG_TOUCHSCREEN_EGALAX=y
132CONFIG_TOUCHSCREEN_ELAN=y
133CONFIG_TOUCHSCREEN_MAX11801=y
134CONFIG_TOUCHSCREEN_MC13783=y
135CONFIG_INPUT_MISC=y
136CONFIG_INPUT_MMA8450=y
137CONFIG_INPUT_ISL29023=y
138CONFIG_SERIO_SERPORT=m
139CONFIG_VT_HW_CONSOLE_BINDING=y
140# CONFIG_LEGACY_PTYS is not set
141# CONFIG_DEVKMEM is not set
142CONFIG_SERIAL_IMX=y
143CONFIG_SERIAL_IMX_CONSOLE=y
144CONFIG_SERIAL_FSL_LPUART=y
145CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
146CONFIG_FSL_OTP=y
147# CONFIG_I2C_COMPAT is not set
148CONFIG_I2C_CHARDEV=y
149# CONFIG_I2C_HELPER_AUTO is not set
150CONFIG_I2C_ALGOPCF=m
151CONFIG_I2C_ALGOPCA=m
152CONFIG_I2C_IMX=y
153CONFIG_SPI=y
154CONFIG_SPI_IMX=y
155CONFIG_GPIO_SYSFS=y
156CONFIG_POWER_SUPPLY=y
157CONFIG_SABRESD_MAX8903=y
158CONFIG_SENSORS_MAX17135=y
159CONFIG_SENSORS_MAG3110=y
160CONFIG_THERMAL=y
161CONFIG_CPU_THERMAL=y
162CONFIG_IMX_THERMAL=y
163CONFIG_DEVICE_THERMAL=y
164CONFIG_WATCHDOG=y
165CONFIG_IMX2_WDT=y
166CONFIG_MFD_DA9052_I2C=y
167CONFIG_MFD_MC13XXX_SPI=y
168CONFIG_MFD_MC13XXX_I2C=y
169CONFIG_MFD_MAX17135=y
170CONFIG_MFD_SI476X_CORE=y
171CONFIG_REGULATOR=y
172CONFIG_REGULATOR_FIXED_VOLTAGE=y
173CONFIG_REGULATOR_DA9052=y
174CONFIG_REGULATOR_ANATOP=y
175CONFIG_REGULATOR_MC13783=y
176CONFIG_REGULATOR_MC13892=y
177CONFIG_REGULATOR_MAX17135=y
178CONFIG_REGULATOR_PFUZE100=y
179CONFIG_MEDIA_SUPPORT=y
180CONFIG_MEDIA_CAMERA_SUPPORT=y
181CONFIG_MEDIA_RADIO_SUPPORT=y
182CONFIG_VIDEO_V4L2_INT_DEVICE=y
183CONFIG_MEDIA_USB_SUPPORT=y
184CONFIG_USB_VIDEO_CLASS=m
185CONFIG_V4L_PLATFORM_DRIVERS=y
186CONFIG_VIDEO_MXC_OUTPUT=y
187CONFIG_VIDEO_MXC_CAPTURE=m
188CONFIG_VIDEO_MXC_CSI_CAMERA=m
189CONFIG_MXC_CAMERA_OV5640=m
190CONFIG_MXC_CAMERA_OV5642=m
191CONFIG_MXC_CAMERA_OV5640_MIPI=m
192CONFIG_MXC_TVIN_ADV7180=m
193CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
194CONFIG_VIDEO_MXC_IPU_OUTPUT=y
195CONFIG_VIDEO_MXC_PXP_V4L2=y
196CONFIG_SOC_CAMERA=y
197CONFIG_VIDEO_MX3=y
198CONFIG_RADIO_SI476X=y
199CONFIG_SOC_CAMERA_OV2640=y
200CONFIG_DRM=y
201CONFIG_DRM_VIVANTE=y
202CONFIG_FB=y
203CONFIG_FB_MXS=y
204CONFIG_BACKLIGHT_LCD_SUPPORT=y
205CONFIG_LCD_CLASS_DEVICE=y
206CONFIG_LCD_L4F00242T03=y
207CONFIG_LCD_PLATFORM=y
208CONFIG_BACKLIGHT_CLASS_DEVICE=y
209CONFIG_BACKLIGHT_PWM=y
210CONFIG_FB_MXC_SYNC_PANEL=y
211CONFIG_FB_MXC_LDB=y
212CONFIG_FB_MXC_MIPI_DSI=y
213CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
214CONFIG_FB_MXC_HDMI=y
215CONFIG_FB_MXC_EINK_PANEL=y
216CONFIG_FB_MXS_SII902X=y
217CONFIG_FRAMEBUFFER_CONSOLE=y
218CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
219CONFIG_FONTS=y
220CONFIG_FONT_8x8=y
221CONFIG_FONT_8x16=y
222CONFIG_LOGO=y
223CONFIG_SOUND=y
224CONFIG_SND=y
225CONFIG_SND_USB_AUDIO=m
226CONFIG_SND_SOC=y
227CONFIG_SND_IMX_SOC=y
228CONFIG_SND_SOC_EUKREA_TLV320=y
229CONFIG_SND_SOC_IMX_CS42888=y
230CONFIG_SND_SOC_IMX_WM8962=y
231CONFIG_SND_SOC_IMX_SGTL5000=y
232CONFIG_SND_SOC_IMX_SPDIF=y
233CONFIG_SND_SOC_IMX_MC13783=y
234CONFIG_SND_SOC_IMX_HDMI=y
235CONFIG_SND_SOC_IMX_SI476X=y
236CONFIG_USB=y
237CONFIG_USB_EHCI_HCD=y
238CONFIG_USB_STORAGE=y
239CONFIG_USB_CHIPIDEA=y
240CONFIG_USB_CHIPIDEA_UDC=y
241CONFIG_USB_CHIPIDEA_HOST=y
242CONFIG_USB_PHY=y
243CONFIG_USB_MXS_PHY=y
244CONFIG_USB_GADGET=y
245# CONFIG_USB_ZERO is not set
246# CONFIG_USB_AUDIO is not set
247# CONFIG_USB_ETH is not set
248# CONFIG_USB_G_NCM is not set
249# CONFIG_USB_GADGETFS is not set
250# CONFIG_USB_FUNCTIONFS is not set
251CONFIG_USB_MASS_STORAGE=y
252CONFIG_FSL_UTP=y
253# CONFIG_USB_G_SERIAL is not set
254# CONFIG_USB_MIDI_GADGET is not set
255# CONFIG_USB_G_PRINTER is not set
256# CONFIG_USB_CDC_COMPOSITE is not set
257# CONFIG_USB_G_ACM_MS is not set
258# CONFIG_USB_G_MULTI is not set
259# CONFIG_USB_G_HID is not set
260# CONFIG_USB_G_DBGP is not set
261# CONFIG_USB_G_WEBCAM is not set
262CONFIG_MMC=y
263CONFIG_MMC_UNSAFE_RESUME=y
264CONFIG_MMC_SDHCI=y
265CONFIG_MMC_SDHCI_PLTFM=y
266CONFIG_MMC_SDHCI_ESDHC_IMX=y
267CONFIG_MXC_IPU=y
268CONFIG_MXC_GPU_VIV=y
269CONFIG_MXC_ASRC=y
270CONFIG_MXC_MIPI_CSI2=y
271CONFIG_NEW_LEDS=y
272CONFIG_LEDS_CLASS=y
273CONFIG_RTC_CLASS=y
274CONFIG_RTC_INTF_DEV_UIE_EMUL=y
275CONFIG_RTC_DRV_MC13XXX=y
276CONFIG_RTC_DRV_MXC=y
277CONFIG_RTC_DRV_SNVS=y
278CONFIG_DMADEVICES=y
279CONFIG_MXC_PXP_V2=y
280CONFIG_IMX_SDMA=y
281CONFIG_MXS_DMA=y
282CONFIG_STAGING=y
283CONFIG_COMMON_CLK_DEBUG=y
284# CONFIG_IOMMU_SUPPORT is not set
285CONFIG_PWM=y
286CONFIG_PWM_IMX=y
287CONFIG_EXT2_FS=y
288CONFIG_EXT2_FS_XATTR=y
289CONFIG_EXT2_FS_POSIX_ACL=y
290CONFIG_EXT2_FS_SECURITY=y
291CONFIG_EXT3_FS=y
292CONFIG_EXT3_FS_POSIX_ACL=y
293CONFIG_EXT3_FS_SECURITY=y
294CONFIG_EXT4_FS=y
295CONFIG_EXT4_FS_POSIX_ACL=y
296CONFIG_EXT4_FS_SECURITY=y
297CONFIG_QUOTA=y
298CONFIG_QUOTA_NETLINK_INTERFACE=y
299# CONFIG_PRINT_QUOTA_WARNING is not set
300CONFIG_AUTOFS4_FS=y
301CONFIG_FUSE_FS=y
302CONFIG_ISO9660_FS=m
303CONFIG_JOLIET=y
304CONFIG_ZISOFS=y
305CONFIG_UDF_FS=m
306CONFIG_MSDOS_FS=m
307CONFIG_VFAT_FS=y
308CONFIG_TMPFS=y
309CONFIG_JFFS2_FS=y
310CONFIG_UBIFS_FS=y
311CONFIG_NFS_FS=y
312CONFIG_NFS_V3_ACL=y
313CONFIG_NFS_V4=y
314CONFIG_ROOT_NFS=y
315CONFIG_NLS_DEFAULT="cp437"
316CONFIG_NLS_CODEPAGE_437=y
317CONFIG_NLS_ASCII=y
318CONFIG_NLS_ISO8859_1=y
319CONFIG_NLS_ISO8859_15=m
320CONFIG_NLS_UTF8=y
321CONFIG_MAGIC_SYSRQ=y
322# CONFIG_SCHED_DEBUG is not set
323# CONFIG_DEBUG_BUGVERBOSE is not set
324# CONFIG_FTRACE is not set
325CONFIG_SECURITYFS=y
326CONFIG_CRYPTO_USER=y
327CONFIG_CRYPTO_CCM=y
328CONFIG_CRYPTO_GCM=y
329CONFIG_CRYPTO_CBC=y
330CONFIG_CRYPTO_CTS=y
331CONFIG_CRYPTO_ECB=y
332CONFIG_CRYPTO_LRW=y
333# CONFIG_CRYPTO_ANSI_CPRNG is not set
334CONFIG_CRYPTO_DEV_FSL_CAAM=y
335CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
336CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
337CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
338CONFIG_CRC_CCITT=m
339CONFIG_CRC_T10DIF=y
340CONFIG_CRC7=m
341CONFIG_LIBCRC32C=m
diff --git a/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb b/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb
new file mode 100644
index 0000000..1400973
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-mfgtool_3.10.17.bb
@@ -0,0 +1,7 @@
1# Copyright (C) 2014 O.S. Systems Software LTDA.
2SUMMARY = "Produces a Manufacturing Tool compatible Linux Kernel"
3DESCRIPTION = "Linux Kernel provided and supported by Freescale that produces a \
4Manufacturing Tool compatible Linux Kernel to be used in updater environment"
5
6require linux-imx_${PV}.bb
7require linux-mfgtool.inc
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch
new file mode 100644
index 0000000..8d9ed83
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch
@@ -0,0 +1,139 @@
1Fix the build errors listed below
2
3Upstream-Status: Inappropriate [other]
4Freescale does not currently support the real-time kernel
5
6Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
7
8 CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
9drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_WaitSignal':
10drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7835:5: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
11 spin_lock_irq(&signal->obj.wait.lock);
12 ^
13In file included from include/linux/seqlock.h:29:0,
14 from include/linux/time.h:5,
15 from include/linux/stat.h:18,
16 from include/linux/module.h:10,
17 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
18 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
19include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
20 static inline void spin_lock_irq(spinlock_t *lock)
21 ^
22drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7867:9: error: passing argument 1 of '__add_wait_queue_tail' from incompatible pointer type [-Werror]
23 __add_wait_queue_tail(&signal->obj.wait, &wait);
24 ^
25In file included from include/linux/mmzone.h:9:0,
26 from include/linux/gfp.h:4,
27 from include/linux/kmod.h:22,
28 from include/linux/module.h:13,
29 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
30 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
31include/linux/wait.h:120:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *'
32 static inline void __add_wait_queue_tail(wait_queue_head_t *head,
33 ^
34drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7879:13: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
35 spin_unlock_irq(&signal->obj.wait.lock);
36 ^
37In file included from include/linux/seqlock.h:29:0,
38 from include/linux/time.h:5,
39 from include/linux/stat.h:18,
40 from include/linux/module.h:10,
41 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
42 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
43include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
44 static inline void spin_unlock_irq(spinlock_t *lock)
45 ^
46drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7881:13: error: passing argument 1 of 'spin_lock_irq' from incompatible pointer type [-Werror]
47 spin_lock_irq(&signal->obj.wait.lock);
48 ^
49In file included from include/linux/seqlock.h:29:0,
50 from include/linux/time.h:5,
51 from include/linux/stat.h:18,
52 from include/linux/module.h:10,
53 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
54 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
55include/linux/spinlock.h:316:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
56 static inline void spin_lock_irq(spinlock_t *lock)
57 ^
58drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7945:9: error: passing argument 1 of '__remove_wait_queue' from incompatible pointer type [-Werror]
59 __remove_wait_queue(&signal->obj.wait, &wait);
60 ^
61In file included from include/linux/mmzone.h:9:0,
62 from include/linux/gfp.h:4,
63 from include/linux/kmod.h:22,
64 from include/linux/module.h:13,
65 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
66 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
67include/linux/wait.h:133:20: note: expected 'struct wait_queue_head_t *' but argument is of type 'struct swait_head *'
68 static inline void __remove_wait_queue(wait_queue_head_t *head,
69 ^
70drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7958:5: error: passing argument 1 of 'spin_unlock_irq' from incompatible pointer type [-Werror]
71 spin_unlock_irq(&signal->obj.wait.lock);
72 ^
73In file included from include/linux/seqlock.h:29:0,
74 from include/linux/time.h:5,
75 from include/linux/stat.h:18,
76 from include/linux/module.h:10,
77 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
78 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
79include/linux/spinlock.h:341:20: note: expected 'struct spinlock_t *' but argument is of type 'struct raw_spinlock_t *'
80 static inline void spin_unlock_irq(spinlock_t *lock)
81 ^
82cc1: all warnings being treated as errors
83make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1
84
85Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
86===================================================================
87--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
88+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
89@@ -7832,7 +7832,7 @@ gckOS_WaitSignal(
90
91 might_sleep();
92
93- spin_lock_irq(&signal->obj.wait.lock);
94+ raw_spin_lock_irq(&signal->obj.wait.lock);
95
96 if (signal->obj.done)
97 {
98@@ -7862,9 +7862,8 @@ gckOS_WaitSignal(
99 : Wait * HZ / 1000;
100 #endif
101
102- DECLARE_WAITQUEUE(wait, current);
103- wait.flags |= WQ_FLAG_EXCLUSIVE;
104- __add_wait_queue_tail(&signal->obj.wait, &wait);
105+ DEFINE_SWAITER(wait);
106+ swait_prepare_locked(&signal->obj.wait, &wait);
107
108 while (gcvTRUE)
109 {
110@@ -7876,9 +7875,9 @@ gckOS_WaitSignal(
111 }
112
113 __set_current_state(TASK_INTERRUPTIBLE);
114- spin_unlock_irq(&signal->obj.wait.lock);
115+ raw_spin_unlock_irq(&signal->obj.wait.lock);
116 timeout = schedule_timeout(timeout);
117- spin_lock_irq(&signal->obj.wait.lock);
118+ raw_spin_lock_irq(&signal->obj.wait.lock);
119
120 if (signal->obj.done)
121 {
122@@ -7942,7 +7941,7 @@ gckOS_WaitSignal(
123 }
124 }
125
126- __remove_wait_queue(&signal->obj.wait, &wait);
127+ swait_finish_locked(&signal->obj.wait, &wait);
128
129 #if gcdDETECT_TIMEOUT
130 if (complained)
131@@ -7955,7 +7954,7 @@ gckOS_WaitSignal(
132 #endif
133 }
134
135- spin_unlock_irq(&signal->obj.wait.lock);
136+ raw_spin_unlock_irq(&signal->obj.wait.lock);
137
138 OnError:
139 /* Return status. */
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch
new file mode 100644
index 0000000..6132b3b
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch
@@ -0,0 +1,111 @@
1Fix the build errors listed below, when PREEMPT_RT_FULL is enabled
2
3Upstream-Status: Pending
4
5Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
6
7 CC drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o
8In file included from include/linux/seqlock.h:29:0,
9 from include/linux/time.h:5,
10 from include/linux/stat.h:18,
11 from include/linux/module.h:10,
12 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
13 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
14drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_CreateMutex':
15include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror]
16 rt_mutex_init(&(mutex)->lock); \
17 ^
18include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init'
19 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
20 ^
21include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
22 rt_mutex_init(&(mutex)->lock); \
23 ^
24drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
25 mutex_init(*Mutex);
26 ^
27include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union
28 rt_mutex_init(&(mutex)->lock); \
29 ^
30include/linux/spinlock.h:104:9: note: in definition of macro 'raw_spin_lock_init'
31 do { *(lock) = __RAW_SPIN_LOCK_UNLOCKED(lock); } while (0)
32 ^
33include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
34 rt_mutex_init(&(mutex)->lock); \
35 ^
36drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
37 mutex_init(*Mutex);
38 ^
39In file included from include/linux/spinlock_types.h:18:0,
40 from include/linux/spinlock.h:81,
41 from include/linux/seqlock.h:29,
42 from include/linux/time.h:5,
43 from include/linux/stat.h:18,
44 from include/linux/module.h:10,
45 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
46 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
47include/linux/mutex_rt.h:74:24: error: dereferencing 'void *' pointer [-Werror]
48 rt_mutex_init(&(mutex)->lock); \
49 ^
50include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
51 rt_mutex_init(&(mutex)->lock); \
52 ^
53drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
54 mutex_init(*Mutex);
55 ^
56include/linux/mutex_rt.h:74:24: error: request for member 'lock' in something not a structure or union
57 rt_mutex_init(&(mutex)->lock); \
58 ^
59include/linux/mutex_rt.h:74:2: note: in expansion of macro 'rt_mutex_init'
60 rt_mutex_init(&(mutex)->lock); \
61 ^
62drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3046:5: note: in expansion of macro 'mutex_init'
63 mutex_init(*Mutex);
64 ^
65In file included from include/linux/mutex.h:28:0,
66 from include/linux/notifier.h:13,
67 from include/linux/memory_hotplug.h:6,
68 from include/linux/mmzone.h:771,
69 from include/linux/gfp.h:4,
70 from include/linux/kmod.h:22,
71 from include/linux/module.h:13,
72 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
73 from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
74drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function 'gckOS_DeleteMutex':
75include/linux/mutex_rt.h:46:48: error: dereferencing 'void *' pointer [-Werror]
76 #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
77 ^
78drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy'
79 mutex_destroy(Mutex);
80 ^
81include/linux/mutex_rt.h:46:48: error: request for member 'lock' in something not a structure or union
82 #define mutex_destroy(l) rt_mutex_destroy(&(l)->lock)
83 ^
84drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:3091:5: note: in expansion of macro 'mutex_destroy'
85 mutex_destroy(Mutex);
86 ^
87cc1: all warnings being treated as errors
88make[4]: *** [drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.o] Error 1
89
90Index: git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
91===================================================================
92--- git.orig/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
93+++ git/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c
94@@ -3043,7 +3043,7 @@ gckOS_CreateMutex(
95 gcmkONERROR(gckOS_Allocate(Os, gcmSIZEOF(struct mutex), Mutex));
96
97 /* Initialize the mutex. */
98- mutex_init(*Mutex);
99+ mutex_init((struct mutex*)*Mutex);
100
101 /* Return status. */
102 gcmkFOOTER_ARG("*Mutex=0x%X", *Mutex);
103@@ -3088,7 +3088,7 @@ gckOS_DeleteMutex(
104 gcmkVERIFY_ARGUMENT(Mutex != gcvNULL);
105
106 /* Destroy the mutex. */
107- mutex_destroy(Mutex);
108+ mutex_destroy((struct mutex*)Mutex);
109
110 /* Free the mutex structure. */
111 gcmkONERROR(gckOS_Free(Os, Mutex));
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch
new file mode 100644
index 0000000..b7995b6
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch
@@ -0,0 +1,84 @@
1Work around the oops below by disabling split ptlocks
2
3Upstream-Status: Inappropriate [disable feature]
4
5Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
6
7Unable to handle kernel NULL pointer dereference at virtual address 00000000
8pgd = ac5a8000
9[00000000] *pgd=3c8db831, *pte=00000000, *ppte=00000000
10Internal error: Oops: 17 [#1] PREEMPT SMP ARM
11Modules linked in:
12CPU: 1 PID: 277 Comm: test-qt5 Not tainted 3.10.17-rt12-monkey+gec1af9f #2
13task: ac65df80 ti: ac968000 task.ti: ac968000
14PC is at _raw_spin_lock+0x10/0x4c
15LR is at get_parent_ip+0x10/0x2c
16pc : [<80623fd4>] lr : [<8004ef18>] psr: 60010013
17sp : ac969c38 ip : 80c44404 fp : 00000000
18r10: ac65df80 r9 : ac969cd8 r8 : 00000000
19r7 : 00000054 r6 : afffe000 r5 : 00000000 r4 : 00000000
20r3 : ac65df80 r2 : 00000001 r1 : 00000000 r0 : 00000000
21Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
22Control: 10c53c7d Table: 3c5a804a DAC: 00000015
23Process test-qt5 (pid: 277, stack limit = 0xac968238)
24Stack: (0xac969c38 to 0xac96a000)
259c20: b00549a8 806235e0
269c40: 00000000 ac968000 812f9a00 80017cec ac969c74 fffffffe 00000000 00005000
279c60: 00000000 80017e6c ac968000 ac65df80 00000000 00000000 00000001 ac968001
289c80: ac65df80 b00549a8 00000000 afffe000 00000054 00000000 ac969cd8 afffe150
299ca0: b0054bf8 8044e540 ac969cd8 b00549a8 ac0b8180 00000230 ac8fd000 00000230
309cc0: 00000000 8044f6f4 ac155700 ac969cf4 ac155700 804605b8 ac155700 ac969d8c
319ce0: 00000002 ac969d24 b0054bf8 804607f4 7ef1fcd0 80450078 ac0b8180 ac155700
329d00: ac969d8c 00000002 ac8fd000 8045f1a0 ac969d24 00000000 ac8fd01c b00549a8
339d20: b0050000 00000008 ac969d98 ac0b8300 ac969d8c 00000115 ac969d98 ac969e00
349d40: ac155600 ac3985f0 7ef1fcd0 8045661c 00000115 00000000 00000001 00000000
359d60: 00007530 80454144 80c32e18 00000001 81518e18 806237dc 00000001 ac968038
369d80: 00000000 00000000 00000000 00000000 00000115 806237dc ac6f5688 ac968018
379da0: 812e1640 00000000 00000001 ac968000 ac969dc4 8004efe4 ac968008 ac39a000
389dc0: ac744400 ac968020 00007530 ac968000 ac968000 ac3985f0 7ef1fcd0 8044d374
399de0: 7ef1fd20 00000000 000000f8 00000000 7ef1fd20 00000000 000000f8 00000000
409e00: 00000028 00000002 00000000 6437d1dd 7ef1fddc 76f9c030 7ef1fd88 76fb9abc
419e20: 00000320 00005007 e02c7eca c1399eff 020fb2db 00000000 00000000 00000000
429e40: 00000001 00000040 00000400 00000004 00000010 00000400 00000002 00000100
439e60: 00000100 00000008 00000008 00000000 ffffffff 00000000 7588e180 76fb1000
449e80: 08000000 00000000 00000000 76fb11b8 000000af 760b6cd8 ffffffff 7431d4c0
459ea0: 000cb1ac 75889000 00000000 00000001 000000b0 00000000 00000000 76fa0da0
469ec0: 00000000 00000001 00000001 00000000 00000000 7588cb40 00000001 75957ecc
479ee0: 00000001 7ef1fe7c 75953e94 7ef1fedc 00000002 76fa789c 00007530 ac6813c0
489f00: 00000000 7ef1fcd0 ac6813c0 ac968000 ac3985f0 800d68fc 00000001 ac968000
499f20: ac969f34 8004efe4 ac4f71d4 6c31d000 00000000 80623fd4 00000000 80623578
509f40: ac4f71d4 800a3d40 00000001 00000000 ac969f5c 00000003 ac6813c8 00000000
519f60: 00000001 00007530 00000003 00000000 7ef1fcd0 ac6813c0 ac968000 00000000
529f80: 00000000 800d6afc ac4f7180 00000000 00002710 00007530 75957e40 00000036
539fa0: 8000e2c4 8000e140 00002710 00007530 00000003 00007530 7ef1fcd0 01bc3008
549fc0: 00002710 00007530 75957e40 00000036 01bd2e70 00000001 7ef1fd20 00000000
559fe0: 759540c4 7ef1fcbc 7593f698 760a0ccc 20010010 00000003 00000000 00000000
56[<80623fd4>] (_raw_spin_lock+0x10/0x4c) from [<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c)
57[<806235e0>] (rt_spin_lock_slowlock+0x34/0x29c) from [<8044e540>] (_QueryProcessPageTable+0x8c/0xdc)
58[<8044e540>] (_QueryProcessPageTable+0x8c/0xdc) from [<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58)
59[<8044f6f4>] (gckOS_GetPhysicalAddress+0x20/0x58) from [<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90)
60[<804605b8>] (gckHARDWARE_ConvertLogical+0x2c/0x90) from [<804607f4>] (gckHARDWARE_Link+0x60/0x104)
61[<804607f4>] (gckHARDWARE_Link+0x60/0x104) from [<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc)
62[<8045f1a0>] (gckCONTEXT_Construct+0x264/0x2bc) from [<8045661c>] (gckCOMMAND_Attach+0x44/0x88)
63[<8045661c>] (gckCOMMAND_Attach+0x44/0x88) from [<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8)
64[<80454144>] (gckKERNEL_Dispatch+0x358/0x12c8) from [<8044d374>] (drv_ioctl+0x120/0x284)
65[<8044d374>] (drv_ioctl+0x120/0x284) from [<800d68fc>] (do_vfs_ioctl+0x408/0x5d0)
66[<800d68fc>] (do_vfs_ioctl+0x408/0x5d0) from [<800d6afc>] (SyS_ioctl+0x38/0x64)
67[<800d6afc>] (SyS_ioctl+0x38/0x64) from [<8000e140>] (ret_fast_syscall+0x0/0x30)
68Code: e92d4010 e1a04000 e3a00001 ebe8abd7 (e1943f9f)
69---[ end trace 0000000000000002 ]---
70note: test-qt5[277] exited with preempt_count 1
71
72Index: git/include/linux/mm_types.h
73===================================================================
74--- git.orig/include/linux/mm_types.h
75+++ git/include/linux/mm_types.h
76@@ -24,7 +24,7 @@
77
78 struct address_space;
79
80-#define USE_SPLIT_PTLOCKS (NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS)
81+#define USE_SPLIT_PTLOCKS (0)
82
83 /*
84 * Each physical page in the system has a struct page associated with
diff --git a/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig
new file mode 100644
index 0000000..0144b3d
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt-3.10.17/mx6/defconfig
@@ -0,0 +1,358 @@
1CONFIG_KERNEL_LZO=y
2CONFIG_SYSVIPC=y
3CONFIG_FHANDLE=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
6CONFIG_IKCONFIG=y
7CONFIG_IKCONFIG_PROC=y
8CONFIG_LOG_BUF_SHIFT=18
9CONFIG_CGROUPS=y
10CONFIG_RELAY=y
11CONFIG_BLK_DEV_INITRD=y
12CONFIG_EXPERT=y
13CONFIG_PERF_EVENTS=y
14# CONFIG_SLUB_DEBUG is not set
15# CONFIG_COMPAT_BRK is not set
16CONFIG_MODULES=y
17CONFIG_MODULE_UNLOAD=y
18CONFIG_MODVERSIONS=y
19CONFIG_MODULE_SRCVERSION_ALL=y
20# CONFIG_BLK_DEV_BSG is not set
21CONFIG_GPIO_PCA953X=y
22CONFIG_ARCH_MXC=y
23CONFIG_MXC_DEBUG_BOARD=y
24CONFIG_MACH_IMX51_DT=y
25CONFIG_MACH_EUKREA_CPUIMX51SD=y
26CONFIG_SOC_IMX53=y
27CONFIG_SOC_IMX6Q=y
28CONFIG_SOC_IMX6SL=y
29CONFIG_SOC_VF610=y
30# CONFIG_SWP_EMULATE is not set
31CONFIG_SMP=y
32CONFIG_VMSPLIT_2G=y
33CONFIG_PREEMPT_RT_FULL=y
34CONFIG_AEABI=y
35# CONFIG_OABI_COMPAT is not set
36CONFIG_HIGHMEM=y
37CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
38CONFIG_CPU_FREQ=y
39CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y
40CONFIG_CPU_FREQ_GOV_POWERSAVE=y
41CONFIG_CPU_FREQ_GOV_USERSPACE=y
42CONFIG_CPU_FREQ_GOV_ONDEMAND=y
43CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
44CONFIG_ARM_IMX6_CPUFREQ=y
45CONFIG_CPU_IDLE=y
46CONFIG_VFP=y
47CONFIG_NEON=y
48CONFIG_BINFMT_MISC=m
49CONFIG_PM_RUNTIME=y
50CONFIG_PM_DEBUG=y
51CONFIG_PM_TEST_SUSPEND=y
52CONFIG_NET=y
53CONFIG_PACKET=y
54CONFIG_UNIX=y
55CONFIG_INET=y
56CONFIG_IP_PNP=y
57CONFIG_IP_PNP_DHCP=y
58# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
59# CONFIG_INET_XFRM_MODE_TUNNEL is not set
60# CONFIG_INET_XFRM_MODE_BEET is not set
61# CONFIG_INET_LRO is not set
62CONFIG_IPV6=y
63CONFIG_NETFILTER=y
64CONFIG_VLAN_8021Q=y
65CONFIG_CAN=y
66CONFIG_CAN_FLEXCAN=y
67CONFIG_CFG80211=y
68CONFIG_CFG80211_WEXT=y
69CONFIG_MAC80211=y
70CONFIG_DEVTMPFS=y
71CONFIG_DEVTMPFS_MOUNT=y
72# CONFIG_STANDALONE is not set
73CONFIG_CMA=y
74CONFIG_CMA_SIZE_MBYTES=320
75CONFIG_IMX_WEIM=y
76CONFIG_CONNECTOR=y
77CONFIG_MTD=y
78CONFIG_MTD_CMDLINE_PARTS=y
79CONFIG_MTD_BLOCK=y
80CONFIG_MTD_CFI=y
81CONFIG_MTD_JEDECPROBE=y
82CONFIG_MTD_CFI_INTELEXT=y
83CONFIG_MTD_CFI_AMDSTD=y
84CONFIG_MTD_CFI_STAA=y
85CONFIG_MTD_PHYSMAP_OF=y
86CONFIG_MTD_DATAFLASH=y
87CONFIG_MTD_M25P80=y
88CONFIG_MTD_SST25L=y
89CONFIG_MTD_NAND=y
90CONFIG_MTD_NAND_GPMI_NAND=y
91CONFIG_MTD_NAND_MXC=y
92CONFIG_MTD_UBI=y
93CONFIG_BLK_DEV_LOOP=y
94CONFIG_BLK_DEV_RAM=y
95CONFIG_BLK_DEV_RAM_SIZE=65536
96CONFIG_EEPROM_AT24=y
97CONFIG_EEPROM_AT25=y
98# CONFIG_SCSI_PROC_FS is not set
99CONFIG_BLK_DEV_SD=y
100CONFIG_SCSI_MULTI_LUN=y
101CONFIG_SCSI_CONSTANTS=y
102CONFIG_SCSI_LOGGING=y
103CONFIG_SCSI_SCAN_ASYNC=y
104# CONFIG_SCSI_LOWLEVEL is not set
105CONFIG_ATA=y
106CONFIG_SATA_AHCI_PLATFORM=y
107CONFIG_AHCI_IMX=y
108CONFIG_PATA_IMX=y
109CONFIG_NETDEVICES=y
110# CONFIG_NET_VENDOR_BROADCOM is not set
111CONFIG_CS89x0=y
112CONFIG_CS89x0_PLATFORM=y
113# CONFIG_NET_VENDOR_FARADAY is not set
114# CONFIG_NET_VENDOR_INTEL is not set
115# CONFIG_NET_VENDOR_MARVELL is not set
116# CONFIG_NET_VENDOR_MICREL is not set
117# CONFIG_NET_VENDOR_MICROCHIP is not set
118# CONFIG_NET_VENDOR_NATSEMI is not set
119# CONFIG_NET_VENDOR_SEEQ is not set
120CONFIG_SMC91X=y
121CONFIG_SMC911X=y
122CONFIG_SMSC911X=y
123# CONFIG_NET_VENDOR_STMICRO is not set
124CONFIG_ATH_CARDS=y
125CONFIG_ATH6KL=m
126CONFIG_ATH6KL_SDIO=m
127# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
128CONFIG_INPUT_EVDEV=y
129CONFIG_INPUT_EVBUG=m
130CONFIG_KEYBOARD_GPIO=y
131CONFIG_KEYBOARD_IMX=y
132CONFIG_MOUSE_PS2=m
133CONFIG_MOUSE_PS2_ELANTECH=y
134CONFIG_INPUT_TOUCHSCREEN=y
135CONFIG_TOUCHSCREEN_EGALAX=y
136CONFIG_TOUCHSCREEN_ELAN=y
137CONFIG_TOUCHSCREEN_MAX11801=y
138CONFIG_TOUCHSCREEN_MC13783=y
139CONFIG_INPUT_MISC=y
140CONFIG_INPUT_MMA8450=y
141CONFIG_INPUT_ISL29023=y
142CONFIG_SERIO_SERPORT=m
143CONFIG_VT_HW_CONSOLE_BINDING=y
144# CONFIG_LEGACY_PTYS is not set
145# CONFIG_DEVKMEM is not set
146CONFIG_SERIAL_IMX=y
147CONFIG_SERIAL_IMX_CONSOLE=y
148CONFIG_SERIAL_FSL_LPUART=y
149CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
150CONFIG_FSL_OTP=y
151CONFIG_MXS_VIIM=y
152# CONFIG_I2C_COMPAT is not set
153CONFIG_I2C_CHARDEV=y
154# CONFIG_I2C_HELPER_AUTO is not set
155CONFIG_I2C_ALGOPCF=m
156CONFIG_I2C_ALGOPCA=m
157CONFIG_I2C_IMX=y
158CONFIG_SPI=y
159CONFIG_SPI_IMX=y
160CONFIG_GPIO_SYSFS=y
161CONFIG_POWER_SUPPLY=y
162CONFIG_SABRESD_MAX8903=y
163CONFIG_IMX6_USB_CHARGER=y
164CONFIG_SENSORS_MAX17135=y
165CONFIG_SENSORS_MAG3110=y
166CONFIG_THERMAL=y
167CONFIG_CPU_THERMAL=y
168CONFIG_IMX_THERMAL=y
169CONFIG_DEVICE_THERMAL=y
170CONFIG_WATCHDOG=y
171CONFIG_IMX2_WDT=y
172CONFIG_MFD_DA9052_I2C=y
173CONFIG_MFD_MC13XXX_SPI=y
174CONFIG_MFD_MC13XXX_I2C=y
175CONFIG_MFD_MAX17135=y
176CONFIG_MFD_SI476X_CORE=y
177CONFIG_REGULATOR=y
178CONFIG_REGULATOR_FIXED_VOLTAGE=y
179CONFIG_REGULATOR_DA9052=y
180CONFIG_REGULATOR_ANATOP=y
181CONFIG_REGULATOR_MC13783=y
182CONFIG_REGULATOR_MC13892=y
183CONFIG_REGULATOR_MAX17135=y
184CONFIG_REGULATOR_PFUZE100=y
185CONFIG_MEDIA_SUPPORT=y
186CONFIG_MEDIA_CAMERA_SUPPORT=y
187CONFIG_MEDIA_RADIO_SUPPORT=y
188CONFIG_VIDEO_V4L2_INT_DEVICE=y
189CONFIG_MEDIA_USB_SUPPORT=y
190CONFIG_USB_VIDEO_CLASS=m
191CONFIG_V4L_PLATFORM_DRIVERS=y
192CONFIG_VIDEO_MXC_OUTPUT=y
193CONFIG_VIDEO_MXC_CAPTURE=m
194CONFIG_VIDEO_MXC_CSI_CAMERA=m
195CONFIG_MXC_CAMERA_OV5640=m
196CONFIG_MXC_CAMERA_OV5642=m
197CONFIG_MXC_CAMERA_OV5640_MIPI=m
198CONFIG_MXC_TVIN_ADV7180=m
199CONFIG_MXC_IPU_DEVICE_QUEUE_SDC=m
200CONFIG_VIDEO_MXC_IPU_OUTPUT=y
201CONFIG_VIDEO_MXC_PXP_V4L2=y
202CONFIG_SOC_CAMERA=y
203CONFIG_VIDEO_MX3=y
204CONFIG_RADIO_SI476X=y
205CONFIG_SOC_CAMERA_OV2640=y
206CONFIG_DRM=y
207CONFIG_DRM_VIVANTE=y
208CONFIG_FB=y
209CONFIG_FB_MXS=y
210CONFIG_BACKLIGHT_LCD_SUPPORT=y
211CONFIG_LCD_CLASS_DEVICE=y
212CONFIG_LCD_L4F00242T03=y
213CONFIG_LCD_PLATFORM=y
214CONFIG_BACKLIGHT_CLASS_DEVICE=y
215CONFIG_BACKLIGHT_PWM=y
216CONFIG_FB_MXC_SYNC_PANEL=y
217CONFIG_FB_MXC_LDB=y
218CONFIG_FB_MXC_MIPI_DSI=y
219CONFIG_FB_MXC_TRULY_WVGA_SYNC_PANEL=y
220CONFIG_FB_MXC_HDMI=y
221CONFIG_FB_MXC_EINK_PANEL=y
222CONFIG_FB_MXS_SII902X=y
223CONFIG_HANNSTAR_CABC=y
224CONFIG_FRAMEBUFFER_CONSOLE=y
225CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
226CONFIG_FONTS=y
227CONFIG_FONT_8x8=y
228CONFIG_FONT_8x16=y
229CONFIG_LOGO=y
230CONFIG_SOUND=y
231CONFIG_SND=y
232CONFIG_SND_USB_AUDIO=m
233CONFIG_SND_SOC=y
234CONFIG_SND_IMX_SOC=y
235CONFIG_SND_SOC_EUKREA_TLV320=y
236CONFIG_SND_SOC_IMX_CS42888=y
237CONFIG_SND_SOC_IMX_WM8962=y
238CONFIG_SND_SOC_IMX_SGTL5000=y
239CONFIG_SND_SOC_IMX_SPDIF=y
240CONFIG_SND_SOC_IMX_MC13783=y
241CONFIG_SND_SOC_IMX_HDMI=y
242CONFIG_SND_SOC_IMX_SI476X=y
243CONFIG_USB=y
244CONFIG_USB_EHCI_HCD=y
245CONFIG_USB_STORAGE=y
246CONFIG_USB_CHIPIDEA=y
247CONFIG_USB_CHIPIDEA_UDC=y
248CONFIG_USB_CHIPIDEA_HOST=y
249CONFIG_USB_PHY=y
250CONFIG_NOP_USB_XCEIV=y
251CONFIG_USB_MXS_PHY=y
252CONFIG_USB_GADGET=y
253CONFIG_USB_ZERO=m
254CONFIG_USB_ETH=m
255CONFIG_USB_MASS_STORAGE=m
256CONFIG_USB_G_SERIAL=m
257CONFIG_MMC=y
258CONFIG_MMC_UNSAFE_RESUME=y
259CONFIG_MMC_SDHCI=y
260CONFIG_MMC_SDHCI_PLTFM=y
261CONFIG_MMC_SDHCI_ESDHC_IMX=y
262CONFIG_MXC_IPU=y
263CONFIG_MXC_GPU_VIV=y
264CONFIG_MXC_ASRC=y
265CONFIG_MXC_MIPI_CSI2=y
266CONFIG_MXC_MLB150=m
267CONFIG_NEW_LEDS=y
268CONFIG_LEDS_CLASS=y
269CONFIG_LEDS_GPIO=y
270CONFIG_LEDS_TRIGGERS=y
271CONFIG_LEDS_TRIGGER_GPIO=y
272CONFIG_RTC_CLASS=y
273CONFIG_RTC_INTF_DEV_UIE_EMUL=y
274CONFIG_RTC_DRV_MC13XXX=y
275CONFIG_RTC_DRV_MXC=y
276CONFIG_RTC_DRV_SNVS=y
277CONFIG_DMADEVICES=y
278CONFIG_MXC_PXP_V2=y
279CONFIG_IMX_SDMA=y
280CONFIG_MXS_DMA=y
281CONFIG_STAGING=y
282CONFIG_COMMON_CLK_DEBUG=y
283# CONFIG_IOMMU_SUPPORT is not set
284CONFIG_PWM=y
285CONFIG_PWM_IMX=y
286CONFIG_EXT2_FS=y
287CONFIG_EXT2_FS_XATTR=y
288CONFIG_EXT2_FS_POSIX_ACL=y
289CONFIG_EXT2_FS_SECURITY=y
290CONFIG_EXT3_FS=y
291CONFIG_EXT3_FS_POSIX_ACL=y
292CONFIG_EXT3_FS_SECURITY=y
293CONFIG_EXT4_FS=y
294CONFIG_EXT4_FS_POSIX_ACL=y
295CONFIG_EXT4_FS_SECURITY=y
296CONFIG_QUOTA=y
297CONFIG_QUOTA_NETLINK_INTERFACE=y
298# CONFIG_PRINT_QUOTA_WARNING is not set
299CONFIG_AUTOFS4_FS=y
300CONFIG_FUSE_FS=y
301CONFIG_ISO9660_FS=m
302CONFIG_JOLIET=y
303CONFIG_ZISOFS=y
304CONFIG_UDF_FS=m
305CONFIG_MSDOS_FS=m
306CONFIG_VFAT_FS=y
307CONFIG_TMPFS=y
308CONFIG_JFFS2_FS=y
309CONFIG_UBIFS_FS=y
310CONFIG_NFS_FS=y
311CONFIG_NFS_V3_ACL=y
312CONFIG_NFS_V4=y
313CONFIG_ROOT_NFS=y
314CONFIG_NLS_DEFAULT="cp437"
315CONFIG_NLS_CODEPAGE_437=y
316CONFIG_NLS_ASCII=y
317CONFIG_NLS_ISO8859_1=y
318CONFIG_NLS_ISO8859_15=m
319CONFIG_NLS_UTF8=y
320CONFIG_MAGIC_SYSRQ=y
321# CONFIG_SCHED_DEBUG is not set
322# CONFIG_DEBUG_BUGVERBOSE is not set
323# CONFIG_FTRACE is not set
324CONFIG_SECURITYFS=y
325CONFIG_CRYPTO_USER=y
326CONFIG_CRYPTO_TEST=m
327CONFIG_CRYPTO_CCM=y
328CONFIG_CRYPTO_GCM=y
329CONFIG_CRYPTO_CBC=y
330CONFIG_CRYPTO_CTS=y
331CONFIG_CRYPTO_ECB=y
332CONFIG_CRYPTO_LRW=y
333CONFIG_CRYPTO_XTS=y
334CONFIG_CRYPTO_MD4=y
335CONFIG_CRYPTO_MD5=y
336CONFIG_CRYPTO_MICHAEL_MIC=y
337CONFIG_CRYPTO_RMD128=y
338CONFIG_CRYPTO_RMD160=y
339CONFIG_CRYPTO_RMD256=y
340CONFIG_CRYPTO_RMD320=y
341CONFIG_CRYPTO_SHA1=y
342CONFIG_CRYPTO_SHA256=y
343CONFIG_CRYPTO_SHA512=y
344CONFIG_CRYPTO_TGR192=y
345CONFIG_CRYPTO_WP512=y
346CONFIG_CRYPTO_BLOWFISH=y
347CONFIG_CRYPTO_CAMELLIA=y
348CONFIG_CRYPTO_DES=y
349CONFIG_CRYPTO_TWOFISH=y
350# CONFIG_CRYPTO_ANSI_CPRNG is not set
351CONFIG_CRYPTO_DEV_FSL_CAAM=y
352CONFIG_CRYPTO_DEV_FSL_CAAM_SM=y
353CONFIG_CRYPTO_DEV_FSL_CAAM_SM_TEST=y
354CONFIG_CRYPTO_DEV_FSL_CAAM_SECVIO=y
355CONFIG_CRC_CCITT=m
356CONFIG_CRC_T10DIF=y
357CONFIG_CRC7=m
358CONFIG_LIBCRC32C=m
diff --git a/recipes-kernel/linux/linux-imx-rt_3.10.17.bb b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb
new file mode 100644
index 0000000..35c7d30
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx-rt_3.10.17.bb
@@ -0,0 +1,26 @@
1# Adapted from linux-imx_3.10.17.bb
2
3require recipes-kernel/linux/linux-imx.inc
4require recipes-kernel/linux/linux-dtb.inc
5
6SUMMARY = "Linux real-time kernel based on linux-imx"
7DESCRIPTION = "Linux kernel that is based on Freescale's linux-imx, \
8with added real-time capabilities."
9
10DEPENDS += "lzop-native bc-native"
11
12SRCBRANCH = "imx_3.10.17_1.0.0_ga"
13SRCREV = "232293e0abb46639e188ab9d8643f1dbf94534f6"
14LOCALVERSION = "-1.0.0_ga"
15
16COMPATIBLE_MACHINE = "(mx6)"
17
18SRC_URI += "\
19 https://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patch-3.10.17-rt12.patch.bz2;name=rt-patch1 \
20 file://0001-fix-build.patch \
21 file://0002-fix-build-with-rt-enabled.patch \
22 file://0003-no-split-ptlocks.patch \
23"
24
25SRC_URI[rt-patch1.md5sum] = "77a28c8b20b01f280dcd860e606a6edd"
26SRC_URI[rt-patch1.sha256sum] = "ce219268f08eecccb39ff2b5be83657d53ca67cb1c6b81021494075197190351"
diff --git a/recipes-kernel/linux/linux-imx.inc b/recipes-kernel/linux/linux-imx.inc
new file mode 100644
index 0000000..47566b0
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx.inc
@@ -0,0 +1,47 @@
1# Copyright (C) 2012, 2014 O.S. Systems Software LTDA.
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
6
7inherit kernel
8
9# Put a local version until we have a true SRCREV to point to
10LOCALVERSION ?= "+yocto"
11SCMVERSION ?= "y"
12
13SRC_URI = "git://git.freescale.com/imx/linux-2.6-imx.git;branch=${SRCBRANCH} \
14 file://defconfig \
15"
16
17S = "${WORKDIR}/git"
18
19# We need to pass it as param since kernel might support more then one
20# machine, with different entry points
21KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
22
23kernel_conf_variable() {
24 CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
25 if test "$2" = "n"
26 then
27 echo "# CONFIG_$1 is not set" >> ${S}/.config
28 else
29 echo "CONFIG_$1=$2" >> ${S}/.config
30 fi
31}
32
33do_configure_prepend() {
34 echo "" > ${S}/.config
35 CONF_SED_SCRIPT=""
36
37 kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
38 kernel_conf_variable LOCALVERSION_AUTO y
39
40 sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config'
41
42 if [ "${SCMVERSION}" = "y" ]; then
43 # Add GIT revision to the local version
44 head=`git rev-parse --verify --short HEAD 2> /dev/null`
45 printf "%s%s" +g $head > ${S}/.scmversion
46 fi
47}
diff --git a/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch b/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch
new file mode 100644
index 0000000..870f0c5
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx/NFS-Fix-nfsroot-support.patch
@@ -0,0 +1,31 @@
1From 4a6353dad68074bb7ae08817cd7beb5cd13f2359 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Mon, 18 Jun 2012 12:02:56 -0300
4Subject: [PATCH] NFS: Fix nfsroot support
5
6The NFS support to use alternative ports breaks building of regular
7NFS root support as the API has been change in an incompatible way.
8
9Upstream-Status: Inappropriate [embedded specific]
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 fs/nfs/nfsroot.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
17index df101d9..e1578e1 100644
18--- a/fs/nfs/nfsroot.c
19+++ b/fs/nfs/nfsroot.c
20@@ -506,7 +506,7 @@ static int __init root_nfs_get_handle(void)
21 if (!request.fh)
22 goto out;
23 set_sockaddr(&sin, servaddr, htons(mount_port));
24- status = nfs_mount(&request);
25+ status = nfs_mount(&request, NFS_MNT_PROGRAM);
26 if (status < 0)
27 printk(KERN_ERR "Root-NFS: Server returned error %d "
28 "while mounting %s\n", status, nfs_export_path);
29--
301.7.10
31
diff --git a/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch b/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
new file mode 100644
index 0000000..7597fa1
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx/NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
@@ -0,0 +1,241 @@
1From e85103e27b7591337d3240cf0ab2670d0ab73d52 Mon Sep 17 00:00:00 2001
2From: Jason Wessel <jason.wessel@windriver.com>
3Date: Wed, 7 Jan 2009 00:59:33 -0500
4Subject: [PATCH] NFS: allow nfs root mount to use alternate rpc ports
5
6Allow an nfs root mount to use alternate RPC ports for mountd and nfsd.
7
8Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
9[forward port to 2.6.33+]
10Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
11---
12 fs/nfs/client.c | 10 ++++++++++
13 fs/nfs/internal.h | 4 +++-
14 fs/nfs/mount_clnt.c | 3 ++-
15 fs/nfs/super.c | 33 ++++++++++++++++++++++++++++++++-
16 include/linux/nfs_fs_sb.h | 1 +
17 include/linux/nfs_mount.h | 4 +++-
18 6 files changed, 51 insertions(+), 4 deletions(-)
19
20diff --git a/fs/nfs/client.c b/fs/nfs/client.c
21index d25b525..b706c02 100644
22--- a/fs/nfs/client.c
23+++ b/fs/nfs/client.c
24@@ -105,6 +105,7 @@ struct nfs_client_initdata {
25 const struct nfs_rpc_ops *rpc_ops;
26 int proto;
27 u32 minorversion;
28+ int nfs_prog;
29 };
30
31 /*
32@@ -123,6 +124,7 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
33 goto error_0;
34
35 clp->rpc_ops = cl_init->rpc_ops;
36+ clp->nfs_prog = cl_init->nfs_prog;
37
38 atomic_set(&clp->cl_count, 1);
39 clp->cl_cons_state = NFS_CS_INITING;
40@@ -448,6 +450,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat
41 /* Match nfsv4 minorversion */
42 if (clp->cl_minorversion != data->minorversion)
43 continue;
44+ if (clp->nfs_prog != data->nfs_prog)
45+ continue;
46+
47 /* Match the full socket address */
48 if (!nfs_sockaddr_cmp(sap, clap))
49 continue;
50@@ -618,6 +623,10 @@ static int nfs_create_rpc_client(struct nfs_client *clp,
51 if (!IS_ERR(clp->cl_rpcclient))
52 return 0;
53
54+ if (clp->nfs_prog)
55+ nfs_program.number = clp->nfs_prog;
56+ else
57+ nfs_program.number = NFS_PROGRAM;
58 clnt = rpc_create(&args);
59 if (IS_ERR(clnt)) {
60 dprintk("%s: cannot create RPC client. Error = %ld\n",
61@@ -786,6 +795,7 @@ static int nfs_init_server(struct nfs_server *server,
62 .addrlen = data->nfs_server.addrlen,
63 .rpc_ops = &nfs_v2_clientops,
64 .proto = data->nfs_server.protocol,
65+ .nfs_prog = data->nfs_prog,
66 };
67 struct rpc_timeout timeparms;
68 struct nfs_client *clp;
69diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
70index e70f44b..3e2649f 100644
71--- a/fs/nfs/internal.h
72+++ b/fs/nfs/internal.h
73@@ -71,6 +71,8 @@ struct nfs_parsed_mount_data {
74 int timeo, retrans;
75 int acregmin, acregmax,
76 acdirmin, acdirmax;
77+ int nfs_prog;
78+ int mount_prog;
79 int namlen;
80 unsigned int options;
81 unsigned int bsize;
82@@ -116,7 +118,7 @@ struct nfs_mount_request {
83 rpc_authflavor_t *auth_flavs;
84 };
85
86-extern int nfs_mount(struct nfs_mount_request *info);
87+extern int nfs_mount(struct nfs_mount_request *info, int prog);
88 extern void nfs_umount(const struct nfs_mount_request *info);
89
90 /* client.c */
91diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
92index 59047f8..0a2bd63 100644
93--- a/fs/nfs/mount_clnt.c
94+++ b/fs/nfs/mount_clnt.c
95@@ -141,7 +141,7 @@ struct mnt_fhstatus {
96 *
97 * Uses default timeout parameters specified by underlying transport.
98 */
99-int nfs_mount(struct nfs_mount_request *info)
100+int nfs_mount(struct nfs_mount_request *info, int m_prog)
101 {
102 struct mountres result = {
103 .fh = info->fh,
104@@ -171,6 +171,7 @@ int nfs_mount(struct nfs_mount_request *info)
105 if (info->noresvport)
106 args.flags |= RPC_CLNT_CREATE_NONPRIVPORT;
107
108+ mnt_program.number = m_prog;
109 mnt_clnt = rpc_create(&args);
110 if (IS_ERR(mnt_clnt))
111 goto out_clnt_err;
112diff --git a/fs/nfs/super.c b/fs/nfs/super.c
113index f9df16d..0b3bbf8 100644
114--- a/fs/nfs/super.c
115+++ b/fs/nfs/super.c
116@@ -94,6 +94,8 @@ enum {
117 Opt_mountvers,
118 Opt_nfsvers,
119 Opt_minorversion,
120+ Opt_mountprog,
121+ Opt_nfsprog,
122
123 /* Mount options that take string arguments */
124 Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
125@@ -160,6 +162,8 @@ static const match_table_t nfs_mount_option_tokens = {
126 { Opt_nfsvers, "nfsvers=%s" },
127 { Opt_nfsvers, "vers=%s" },
128 { Opt_minorversion, "minorversion=%s" },
129+ { Opt_mountprog, "mountprog=%s" },
130+ { Opt_nfsprog, "nfsprog=%s" },
131
132 { Opt_sec, "sec=%s" },
133 { Opt_proto, "proto=%s" },
134@@ -787,6 +791,8 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
135 data->acregmax = NFS_DEF_ACREGMAX;
136 data->acdirmin = NFS_DEF_ACDIRMIN;
137 data->acdirmax = NFS_DEF_ACDIRMAX;
138+ data->nfs_prog = NFS_PROGRAM;
139+ data->mount_prog = NFS_MNT_PROGRAM;
140 data->mount_server.port = NFS_UNSPEC_PORT;
141 data->nfs_server.port = NFS_UNSPEC_PORT;
142 data->nfs_server.protocol = XPRT_TRANSPORT_TCP;
143@@ -1168,6 +1174,26 @@ static int nfs_parse_mount_options(char *raw,
144 goto out_invalid_value;
145 mnt->acdirmax = option;
146 break;
147+ case Opt_mountprog:
148+ string = match_strdup(args);
149+ if (string == NULL)
150+ goto out_nomem;
151+ rc = strict_strtoul(string, 10, &option);
152+ kfree(string);
153+ if (rc != 0)
154+ goto out_invalid_value;
155+ mnt->mount_prog = option;
156+ break;
157+ case Opt_nfsprog:
158+ string = match_strdup(args);
159+ if (string == NULL)
160+ goto out_nomem;
161+ rc = strict_strtoul(string, 10, &option);
162+ kfree(string);
163+ if (rc != 0)
164+ goto out_invalid_value;
165+ mnt->nfs_prog = option;
166+ break;
167 case Opt_actimeo:
168 string = match_strdup(args);
169 if (string == NULL)
170@@ -1566,7 +1592,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
171 * Now ask the mount server to map our export path
172 * to a file handle.
173 */
174- status = nfs_mount(&request);
175+ status = nfs_mount(&request,args->mount_prog);
176 if (status != 0) {
177 dfprintk(MOUNT, "NFS: unable to mount server %s, error %d\n",
178 request.hostname, status);
179@@ -1739,6 +1765,7 @@ static int nfs_validate_mount_data(void *options,
180 {
181 struct nfs_mount_data *data = (struct nfs_mount_data *)options;
182 struct sockaddr *sap = (struct sockaddr *)&args->nfs_server.address;
183+ args->nfs_prog = NFS_PROGRAM;
184
185 if (data == NULL)
186 goto out_no_data;
187@@ -1758,6 +1785,8 @@ static int nfs_validate_mount_data(void *options,
188 goto out_no_sec;
189 case 5:
190 memset(data->context, 0, sizeof(data->context));
191+ case 7:
192+ args->nfs_prog = (data->version >= 7) ? data->nfs_prog : NFS_PROGRAM;
193 case 6:
194 if (data->flags & NFS_MOUNT_VER3) {
195 if (data->root.size > NFS3_FHSIZE || data->root.size == 0)
196@@ -2476,6 +2505,8 @@ static int nfs4_validate_mount_data(void *options,
197 if (data == NULL)
198 goto out_no_data;
199
200+ args->nfs_prog = NFS_PROGRAM;
201+
202 switch (data->version) {
203 case 1:
204 if (data->host_addrlen > sizeof(args->nfs_server.address))
205diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
206index d6e10a4..585cba4 100644
207--- a/include/linux/nfs_fs_sb.h
208+++ b/include/linux/nfs_fs_sb.h
209@@ -41,6 +41,7 @@ struct nfs_client {
210
211 u32 cl_minorversion;/* NFSv4 minorversion */
212 struct rpc_cred *cl_machine_cred;
213+ int nfs_prog;
214
215 #ifdef CONFIG_NFS_V4
216 u64 cl_clientid; /* constant */
217diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
218index 4499016..86beb0c 100644
219--- a/include/linux/nfs_mount.h
220+++ b/include/linux/nfs_mount.h
221@@ -20,7 +20,7 @@
222 * mount-to-kernel version compatibility. Some of these aren't used yet
223 * but here they are anyway.
224 */
225-#define NFS_MOUNT_VERSION 6
226+#define NFS_MOUNT_VERSION 7
227 #define NFS_MAX_CONTEXT_LEN 256
228
229 struct nfs_mount_data {
230@@ -43,6 +43,8 @@ struct nfs_mount_data {
231 struct nfs3_fh root; /* 4 */
232 int pseudoflavor; /* 5 */
233 char context[NFS_MAX_CONTEXT_LEN + 1]; /* 6 */
234+ int nfs_prog; /* 7 */
235+ int mount_prog; /* 7 */
236 };
237
238 /* bits in the flags field visible to user space */
239--
2401.7.9.1
241
diff --git a/recipes-kernel/linux/linux-imx_2.6.35.3.bb b/recipes-kernel/linux/linux-imx_2.6.35.3.bb
new file mode 100644
index 0000000..be39179
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx_2.6.35.3.bb
@@ -0,0 +1,26 @@
1# Copyright (C) 2011-2013 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Linux Kernel provided and supported by Freescale"
5DESCRIPTION = "Linux Kernel provided and supported by Freescale with focus on \
6i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
7
8PR = "r45"
9
10include linux-imx.inc
11
12COMPATIBLE_MACHINE = "(mx28|mx5)"
13
14# Revision of imx_2.6.35_maintain branch
15SRCREV = "903363ed80a113f2d1e3e96e508ecf128d9af323"
16LOCALVERSION = "-maintain+yocto"
17SRCBRANCH = "imx_2.6.35_maintain"
18
19SRC_URI += "file://NFS-Fix-nfsroot-support.patch \
20 file://NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch \
21 file://perf-avoid-use-sysroot-headers.patch \
22"
23
24SRC_URI_append_mx28 = " \
25 file://mxs-duart-use-ttyAMA-for-device-name.patch \
26"
diff --git a/recipes-kernel/linux/linux-imx_3.10.17.bb b/recipes-kernel/linux/linux-imx_3.10.17.bb
new file mode 100644
index 0000000..afa31e2
--- /dev/null
+++ b/recipes-kernel/linux/linux-imx_3.10.17.bb
@@ -0,0 +1,17 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Linux Kernel provided and supported by Freescale"
5DESCRIPTION = "Linux Kernel provided and supported by Freescale with focus on \
6i.MX Family Reference Boards. It includes support for many IPs such as GPU, VPU and IPU."
7
8require recipes-kernel/linux/linux-imx.inc
9require recipes-kernel/linux/linux-dtb.inc
10
11DEPENDS += "lzop-native bc-native"
12
13SRCBRANCH = "imx_3.10.17_1.0.0_ga"
14SRCREV = "232293e0abb46639e188ab9d8643f1dbf94534f6"
15LOCALVERSION = "-1.0.0_ga"
16
17COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-kernel/linux/linux-mfgtool.inc b/recipes-kernel/linux/linux-mfgtool.inc
new file mode 100644
index 0000000..5c042ee
--- /dev/null
+++ b/recipes-kernel/linux/linux-mfgtool.inc
@@ -0,0 +1,80 @@
1# Produces a Manufacturing Tool compatible Linux Kernel
2#
3# This makes a separated binary set for Manufacturing Tool use
4# without clobbering the Linux Kernel used for normal use.
5#
6# This file must be included after the original linux-imx.inc file
7# as it overrides the needed values.
8#
9# Copyright (C) 2014 O.S. Systems Software LTDA.
10
11# Adjust provides
12PROVIDES = "linux-mfgtool"
13
14# Avoid coliding files
15LOCALVERSION_append = "-mfgtool"
16KERNEL_SRC_PATH = "/usr/src/kernel-mfgtool"
17KERNEL_IMAGE_BASE_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
18KERNEL_IMAGE_SYMLINK_NAME = "${KERNEL_IMAGETYPE}-mfgtool-${MACHINE}"
19MODULE_IMAGE_BASE_NAME = "modules-mfgtool-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
20MODULE_TARBALL_SYMLINK_NAME = "modules-mfgtool-${MACHINE}.tgz"
21
22# Ensures we prefer our mfgtool specific files
23FILESEXTRAPATHS_prepend = "${THISDIR}/${ORIG_PN}-${PV}:${THISDIR}/${ORIG_PN}:"
24
25python mfgtool_recipe_handler () {
26 pn = e.data.getVar("PN", True)
27 if not (pn.endswith("-mfgtool") or pn.startswith("mfgtool-")):
28 return
29
30 e.data.setVar("MLPREFIX", "mfgtool-")
31 e.data.setVar("ORIG_PN", e.data.getVar("PN", True))
32 e.data.setVar("PN", "mfgtool-" + e.data.getVar("PN", True).replace("-mfgtool", "").replace("mfgtool-", ""))
33}
34
35python () {
36 pn = d.getVar("PN", True)
37 if not pn.startswith("mfgtool-"):
38 return
39
40 from oe.classextend import ClassExtender
41
42 class LinuxMfgToolExtender(ClassExtender):
43 def extend_name(self, name):
44 if name.startswith("rtld"):
45 return name
46 if name.endswith("-" + self.extname):
47 name = name.replace("-" + self.extname, "")
48 if name.startswith("virtual/"):
49 subs = name.split("/", 1)[1]
50 if not subs.startswith(self.extname):
51 return "virtual/" + self.extname + "-" + subs
52 return name
53 if not name.startswith(self.extname):
54 return self.extname + "-" + name
55 return name
56
57 clsextend = LinuxMfgToolExtender("mfgtool", d)
58 clsextend.rename_packages()
59 clsextend.rename_package_variables((d.getVar("PACKAGEVARS", True) or "").split())
60
61 clsextend.map_packagevars()
62}
63
64addhandler mfgtool_recipe_handler
65mfgtool_recipe_handler[eventmask] = "bb.event.RecipePreFinalise"
66
67# FIXME: We need to remove the KERNEL_SRC_PATH contents as
68# kernel.bbclass has no way to skip its installation.
69# FIXME: It is not possible to have external modules against
70# this kernel variant.
71do_install_append() {
72 rm -r ${D}${KERNEL_SRC_PATH}
73 rmdir ${D}/usr/src ${D}/usr
74}
75
76# FIXME: We must to avoid the staging of KERNEL_SRC_PATH as
77# it is being removed (see above FIXME items).
78sysroot_stage_all() {
79 :
80}
diff --git a/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch b/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch
new file mode 100644
index 0000000..7cf3597
--- /dev/null
+++ b/recipes-kernel/linux/linux-timesys-3.0.15/0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch
@@ -0,0 +1,37 @@
1From 05143ab75368653deee90dd24f26fa17e21711e9 Mon Sep 17 00:00:00 2001
2From: Andy Voltz <andy.voltz@timesys.com>
3Date: Thu, 6 Jun 2013 11:48:44 -0400
4Subject: [PATCH 1/2] mvf_fec.c: Fix mac address read to match fuse layout for
5 latest u-boot
6
7---
8 arch/arm/mach-mvf/mvf_fec.c | 12 ++++++------
9 1 file changed, 6 insertions(+), 6 deletions(-)
10
11diff --git a/arch/arm/mach-mvf/mvf_fec.c b/arch/arm/mach-mvf/mvf_fec.c
12index d51f205..1ab339b 100644
13--- a/arch/arm/mach-mvf/mvf_fec.c
14+++ b/arch/arm/mach-mvf/mvf_fec.c
15@@ -35,13 +35,13 @@ static int fec_get_mac_addr(unsigned char *mac)
16 unsigned int value;
17
18 value = readl(MVF_IO_ADDRESS(MVF_FEC_BASE_ADDR) + ENET_PALR);
19- mac[2] = value & 0xff;
20- mac[3] = (value >> 8) & 0xff;
21- mac[4] = (value >> 16) & 0xff;
22- mac[5] = (value >> 24) & 0xff;
23+ mac[3] = value & 0xff;
24+ mac[2] = (value >> 8) & 0xff;
25+ mac[1] = (value >> 16) & 0xff;
26+ mac[0] = (value >> 24) & 0xff;
27 value = readl(MVF_IO_ADDRESS(MVF_FEC_BASE_ADDR) + ENET_PAUR);
28- mac[0] = (value >> 16) & 0xff;
29- mac[1] = (value >> 24) & 0xff;
30+ mac[5] = (value >> 16) & 0xff;
31+ mac[4] = (value >> 24) & 0xff;
32
33 return 0;
34 }
35--
361.7.9.5
37
diff --git a/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch b/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch
new file mode 100644
index 0000000..3c75b71
--- /dev/null
+++ b/recipes-kernel/linux/linux-timesys-3.0.15/0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch
@@ -0,0 +1,35 @@
1From bf6634e8ad489e47150c0acb8efbe5ddd89066f5 Mon Sep 17 00:00:00 2001
2From: Andy Voltz <andy.voltz@timesys.com>
3Date: Thu, 27 Jun 2013 15:20:27 -0400
4Subject: [PATCH 2/2] mvf.c: Change console device name to match mainline
5 u-boot
6
7---
8 drivers/tty/serial/mvf.c | 4 ++--
9 1 file changed, 2 insertions(+), 2 deletions(-)
10
11diff --git a/drivers/tty/serial/mvf.c b/drivers/tty/serial/mvf.c
12index 814a7da..4f7a82f 100644
13--- a/drivers/tty/serial/mvf.c
14+++ b/drivers/tty/serial/mvf.c
15@@ -55,7 +55,7 @@
16 /* We've been assigned a range on the "Low-density serial ports" major */
17 #define SERIAL_IMX_MAJOR 207
18 #define MINOR_START 16
19-#define DEV_NAME "ttymxc"
20+#define DEV_NAME "ttyLP"
21 #define MAX_INTERNAL_IRQ MXC_INTERNAL_IRQS
22
23 /*
24@@ -605,7 +605,7 @@ static int imx_startup(struct uart_port *port)
25 if (sport->enable_dma) {
26 /* request eDMA channel and buffer */
27 sport->dma_tx_ch = mcf_edma_request_channel(pdata->dma_req_tx,
28- dma_tx_callback, NULL, 1, sport, NULL, "ttymxc");
29+ dma_tx_callback, NULL, 1, sport, NULL, DEV_NAME);
30
31 sport->dma_is_txing = 0;
32
33--
341.7.9.5
35
diff --git a/recipes-kernel/linux/linux-timesys-3.0.15/defconfig b/recipes-kernel/linux/linux-timesys-3.0.15/defconfig
new file mode 100644
index 0000000..b750bed
--- /dev/null
+++ b/recipes-kernel/linux/linux-timesys-3.0.15/defconfig
@@ -0,0 +1,144 @@
1CONFIG_EXPERIMENTAL=y
2CONFIG_SYSVIPC=y
3CONFIG_IKCONFIG=m
4CONFIG_IKCONFIG_PROC=y
5CONFIG_LOG_BUF_SHIFT=14
6CONFIG_EMBEDDED=y
7CONFIG_MODULES=y
8CONFIG_MODULE_UNLOAD=y
9CONFIG_MODULE_FORCE_UNLOAD=y
10CONFIG_MODVERSIONS=y
11CONFIG_ARCH_MXC=y
12CONFIG_ARCH_MVF=y
13CONFIG_MACH_MVFA5_TWR_VF700=y
14CONFIG_DMA_ZONE_SIZE=16
15CONFIG_ARM_ERRATA_743622=y
16CONFIG_ARM_ERRATA_754322=y
17CONFIG_NO_HZ=y
18CONFIG_HIGH_RES_TIMERS=y
19CONFIG_VMSPLIT_2G=y
20CONFIG_AEABI=y
21# CONFIG_OABI_COMPAT is not set
22CONFIG_COMPACTION=y
23CONFIG_KSM=y
24CONFIG_ZBOOT_ROM_TEXT=0x0
25CONFIG_ZBOOT_ROM_BSS=0x0
26CONFIG_CMDLINE="root=/dev/nfs rw nfsroot=10.193.20.106:/tftpboot/10.193.20.115 ip=10.193.20.115:10.193.20.106:10.193.20.254:255.255.255.0::eth0:off console=ttymxc1,115200 mem=128M"
27CONFIG_VFP=y
28CONFIG_NEON=y
29# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
30CONFIG_PM_RUNTIME=y
31CONFIG_NET=y
32CONFIG_PACKET=y
33CONFIG_UNIX=y
34CONFIG_INET=y
35CONFIG_IP_MULTICAST=y
36CONFIG_IP_PNP=y
37CONFIG_IP_PNP_DHCP=y
38CONFIG_IP_PNP_BOOTP=y
39# CONFIG_INET_LRO is not set
40# CONFIG_IPV6 is not set
41CONFIG_DEVTMPFS=y
42CONFIG_MTD=y
43CONFIG_MTD_CMDLINE_PARTS=y
44CONFIG_MTD_CHAR=y
45CONFIG_MTD_BLOCK=y
46CONFIG_MTD_NAND=y
47CONFIG_MTD_NAND_FSL_NFC=y
48CONFIG_MTD_NAND_FSL_NFC_SWECC=y
49CONFIG_BLK_DEV_RAM=y
50CONFIG_MISC_DEVICES=y
51CONFIG_SCSI=y
52CONFIG_BLK_DEV_SD=y
53CONFIG_SCSI_MULTI_LUN=y
54# CONFIG_SCSI_LOWLEVEL is not set
55CONFIG_NETDEVICES=y
56CONFIG_MICREL_PHY=y
57CONFIG_NET_ETHERNET=y
58# CONFIG_NETDEV_1000 is not set
59# CONFIG_NETDEV_10000 is not set
60CONFIG_INPUT_POLLDEV=y
61CONFIG_INPUT_EVDEV=y
62CONFIG_KEYBOARD_GPIO=y
63# CONFIG_INPUT_MOUSE is not set
64CONFIG_INPUT_TOUCHSCREEN=y
65CONFIG_TOUCHSCREEN_CRTOUCH=y
66CONFIG_INPUT_MISC=y
67CONFIG_INPUT_UINPUT=y
68# CONFIG_CONSOLE_TRANSLATIONS is not set
69CONFIG_LEGACY_PTY_COUNT=4
70CONFIG_SERIAL_IMX=y
71CONFIG_SERIAL_IMX_CONSOLE=y
72CONFIG_HW_RANDOM=y
73CONFIG_I2C=y
74CONFIG_I2C_CHARDEV=y
75CONFIG_I2C_IMX=y
76CONFIG_SPI=y
77CONFIG_SPI_MVF_DSPI_EDMA=y
78CONFIG_GPIO_SYSFS=y
79# CONFIG_HWMON is not set
80# CONFIG_MFD_SUPPORT is not set
81CONFIG_MEDIA_SUPPORT=y
82CONFIG_VIDEO_DEV=y
83CONFIG_USB_VIDEO_CLASS=y
84CONFIG_FB=y
85CONFIG_FB_MVF_DCU=y
86CONFIG_FRAMEBUFFER_CONSOLE=y
87CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
88CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
89CONFIG_FONTS=y
90CONFIG_FONT_8x8=y
91CONFIG_FONT_8x16=y
92CONFIG_LOGO=y
93CONFIG_SOUND=y
94# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
95CONFIG_SND=y
96CONFIG_SND_PCM_OSS=y
97CONFIG_SND_SOC=y
98CONFIG_USB=y
99CONFIG_USB_EHCI_HCD=y
100CONFIG_USB_EHCI_ARC=y
101CONFIG_USB_EHCI_ROOT_HUB_TT=y
102CONFIG_USB_STORAGE=y
103CONFIG_USB_GADGET=y
104CONFIG_USB_ETH=m
105CONFIG_MMC=y
106CONFIG_MMC_SDHCI=y
107CONFIG_MMC_SDHCI_PLTFM=y
108CONFIG_MMC_SDHCI_ESDHC_IMX=y
109CONFIG_RTC_CLASS=y
110CONFIG_RTC_DRV_SNVS=y
111CONFIG_DMADEVICES=y
112# CONFIG_MXC_HMP4E is not set
113# CONFIG_MXC_HWEVENT is not set
114CONFIG_EXT2_FS=y
115CONFIG_EXT3_FS=y
116# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
117CONFIG_EXT4_FS=y
118CONFIG_AUTOFS4_FS=m
119CONFIG_MSDOS_FS=y
120CONFIG_VFAT_FS=y
121CONFIG_TMPFS=y
122CONFIG_TMPFS_POSIX_ACL=y
123CONFIG_JFFS2_FS=y
124CONFIG_CRAMFS=y
125CONFIG_NFS_FS=y
126CONFIG_NFS_V3=y
127CONFIG_ROOT_NFS=y
128CONFIG_PARTITION_ADVANCED=y
129CONFIG_EFI_PARTITION=y
130CONFIG_NLS_CODEPAGE_437=y
131CONFIG_NLS_ASCII=m
132CONFIG_NLS_ISO8859_1=y
133CONFIG_NLS_UTF8=m
134# CONFIG_ARM_UNWIND is not set
135CONFIG_CRYPTO_TEST=m
136CONFIG_CRYPTO_CBC=y
137CONFIG_CRYPTO_ECB=y
138CONFIG_CRYPTO_MICHAEL_MIC=y
139CONFIG_CRYPTO_AES=y
140CONFIG_CRYPTO_ARC4=y
141CONFIG_CRYPTO_DEFLATE=y
142CONFIG_CRYPTO_LZO=y
143# CONFIG_CRYPTO_ANSI_CPRNG is not set
144CONFIG_CRC_CCITT=m
diff --git a/recipes-kernel/linux/linux-timesys_3.0.15.bb b/recipes-kernel/linux/linux-timesys_3.0.15.bb
new file mode 100644
index 0000000..24ea076
--- /dev/null
+++ b/recipes-kernel/linux/linux-timesys_3.0.15.bb
@@ -0,0 +1,20 @@
1# Copyright (C) 2013-2014 Timesys Corporation
2# Released under the MIT license (see COPYING.MIT for the terms)
3include linux-imx.inc
4
5SUMMARY = "Linux Kernel with added drivers and board support for Vybrid-based platforms"
6
7# Revision of 3.0.15_vybrid branch
8SRC_URI = "git://github.com/Timesys/linux-timesys.git;protocol=git;branch=${SRCBRANCH} \
9 file://defconfig \
10"
11
12SRC_URI_append_twr-vf65gs10 = "file://0001-mvf_fec.c-Fix-mac-address-read-to-match-fuse-layout-.patch \
13 file://0002-mvf.c-Change-console-device-name-to-match-mainline-u.patch \
14"
15
16SRCBRANCH = "3.0.15_vybrid-twr"
17SRCREV = "50c4c848d6b8743894cfcec166db475ef6140504"
18LOCALVERSION = "-3.0-mvf+yocto"
19
20COMPATIBLE_MACHINE = "(vf60)"
diff --git a/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
new file mode 100644
index 0000000..331ccdb
--- /dev/null
+++ b/recipes-multimedia/alsa/fsl-alsa-plugins_1.0.25.bb
@@ -0,0 +1,27 @@
1# Copyright (C) 2013 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "Freescale alsa-lib plugins"
5LICENSE = "GPLv2"
6SECTION = "multimedia"
7DEPENDS = "alsa-lib virtual/kernel"
8
9LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
10
11inherit autotools pkgconfig
12
13SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.tar.gz"
14SRC_URI[md5sum] = "b1ca7a250a8cd5da07062081b30b4118"
15SRC_URI[sha256sum] = "902df92255d755e8eb08b3c3db0c7b9d70d26d9659b219373bee425ffdc34245"
16
17INCLUDE_DIR = "-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include"
18
19EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
20
21INSANE_SKIP_${PN} = "dev-so"
22
23FILES_${PN} += "${libdir}/alsa-lib/libasound_*.so"
24FILES_${PN}-dbg += "${libdir}/alsa-lib/.debug"
25FILES_${PN}-dev += "${libdir}/alsa-lib/*.la"
26
27COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin.inc b/recipes-multimedia/gstreamer/gst-fsl-plugin.inc
new file mode 100644
index 0000000..dca9209
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-fsl-plugin.inc
@@ -0,0 +1,66 @@
1# Copyright (C) 2011-2013 Freescale Semiconductor
2# Copytight (C) 2012-2014 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "Gstreamer freescale plugins"
6LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
7SECTION = "multimedia"
8
9DEPENDS = "gstreamer gst-plugins-base libfslcodec libfslparser virtual/kernel"
10DEPENDS_append_mx5 = " imx-lib imx-vpu"
11DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap"
12DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap"
13DEPENDS_append_mx6sl = " imx-lib"
14
15LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
16 file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
17 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
18
19S = "${WORKDIR}/gst-fsl-plugins-${PV}"
20
21SRC_URI = "${FSL_MIRROR}/gst-fsl-plugins-${PV}.tar.gz \
22 file://build-Fix-out-of-tree-build.patch"
23
24inherit autotools pkgconfig
25
26PLATFORM_mx5 = "MX51"
27PLATFORM_mx6 = "MX6"
28PLATFORM_mx6sl = "MX6SL"
29PLATFORM_mx28 = "MX28"
30
31# Todo add a mechanism to map posible build targets
32EXTRA_OECONF = "PLATFORM=${PLATFORM} \
33 CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include""
34
35PACKAGES =+ "${PN}-libmfwsconf ${PN}-libgplaycore ${PN}-libgstfsl \
36 ${PN}-libme ${PN}-libgstbufmeta ${PN}-libmfwba \
37 ${PN}-libfwvss ${PN}-gplay"
38
39# FIXME: Add all features
40# feature from excluded mm packages
41PACKAGECONFIG[ac3] += "--enable-ac3dec,--disable-ac3dec,libfslac3codec,libfslac3codec"
42# feature from special mm packages
43PACKAGECONFIG[aacp] += "--enable-aacpdec,--disable-aacpdec,libfslaacpcodec,libfslaacpcodec"
44MSDEPENDS = "libfslmsparser libfslmscodec"
45PACKAGECONFIG[wma10dec] +="--enable-wma10dec,--disable-wma10dec,${MSDEPENDS},${MSDEPENDS}"
46PACKAGECONFIG[wma8enc] +="--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}"
47PACKAGECONFIG[wmv9mpdec] +="--enable-wmv9mpdec,--disable-wmv9mpdec,${MSDEPENDS},${MSDEPENDS}"
48PACKAGECONFIG[wmv78dec] +="--enable-wmv78dec,--disable-wmv78dec,${MSDEPENDS},${MSDEPENDS}"
49
50FILES_${PN} = "${libdir}/gstreamer-0.10/*.so ${datadir}"
51# Add codec list that the beep plugin run-time depended
52BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis"
53RDEPENDS_${PN} += "gst-plugins-good-id3demux libfslparser ${BEEP_RDEPENDS}"
54
55FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
56FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/pkgconfig/*.pc"
57FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
58
59FILES_${PN}-gplay = "${bindir}/gplay"
60FILES_${PN}-libmfwsconf = "${libdir}/libmfwsconf${SOLIBS}"
61FILES_${PN}-libgplaycore = "${libdir}/libgplaycore${SOLIBS}"
62FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-0.10${SOLIBS}"
63FILES_${PN}-libme = "${libdir}/libme${SOLIBS}"
64FILES_${PN}-libgstbufmeta = "${libdir}/libgstbufmeta${SOLIBS}"
65FILES_${PN}-libmfwba = "${libdir}/libmfwba${SOLIBS}"
66FILES_${PN}-libfwvss = "${libdir}/libmfwvss${SOLIBS}"
diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch b/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch
new file mode 100644
index 0000000..80b796d
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-fsl-plugin/build-Fix-out-of-tree-build.patch
@@ -0,0 +1,617 @@
1From 5b3b8e03df1fadb3ca37c9119cd0089c5171fb05 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Thu, 1 May 2014 15:44:51 -0300
4Subject: [PATCH] build: Fix out of tree build
5Organization: O.S. Systems Software LTDA.
6
7The build system had relative include paths which didn't take into
8account the origial source path makes it impossible to do out of tree
9builds. To fix it, every relative include path was replaced with
10$(top_srcdir) so it works independetly of build diretory location.
11
12Upstream-Status: Pending
13
14Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
15---
16 libs/Makefile.am | 2 +-
17 src/audio/aac_dec/src/Makefile.am | 2 +-
18 src/audio/aacplus_dec/src/Makefile.am | 2 +-
19 src/audio/ac3_dec/src/Makefile.am | 2 +-
20 src/audio/amr_dec/src/Makefile.am | 2 +-
21 src/audio/amr_dec/src/Makefile.in | 2 +-
22 src/audio/amr_enc/src/Makefile.am | 2 +-
23 src/audio/amr_enc/src/Makefile.in | 2 +-
24 src/audio/audio_pp/src/Makefile.am | 2 +-
25 src/audio/beep/src/Makefile.am | 8 ++++----
26 src/audio/down_mix/src/Makefile.am | 2 +-
27 src/audio/mp3_dec/src/Makefile.am | 8 ++++----
28 src/audio/mp3_enc/src/Makefile.am | 8 ++++----
29 src/audio/spdif_rx/src/Makefile.am | 2 +-
30 src/audio/spdif_tx/src/Makefile.am | 2 +-
31 src/audio/vorbis_dec/src/Makefile.am | 2 +-
32 src/audio/wma10_dec/src/Makefile.am | 8 ++++----
33 src/audio/wma8_enc/src/Makefile.am | 2 +-
34 src/misc/i_sink/src/Makefile.am | 2 +-
35 src/misc/tvsrc/src/Makefile.am | 2 +-
36 src/misc/v4l_sink/src/Makefile.am | 16 ++++++++--------
37 src/misc/v4l_source/src/Makefile.am | 2 +-
38 src/parser/aiur/src/Makefile.am | 2 +-
39 src/video/deinterlace/src/Makefile.am | 2 +-
40 src/video/h264_dec/src/Makefile.am | 8 ++++----
41 src/video/ipu_csc/src/Makefile.am | 2 +-
42 src/video/mpeg2_dec/src/Makefile.am | 2 +-
43 src/video/mpeg4asp_dec/src/Makefile.am | 8 ++++----
44 src/video/vpu/src/Makefile.am | 2 +-
45 src/video/vpu_dec.full/src/Makefile.am | 2 +-
46 src/video/vpu_enc/src/Makefile.am | 2 +-
47 src/video/wmv9mp_dec/src/Makefile.am | 2 +-
48 src/video/wmv_dec/src/Makefile.am | 2 +-
49 33 files changed, 58 insertions(+), 58 deletions(-)
50
51diff --git a/libs/Makefile.am b/libs/Makefile.am
52index a9e5e0f..47d1e8b 100755
53--- a/libs/Makefile.am
54+++ b/libs/Makefile.am
55@@ -35,7 +35,7 @@ endif
56 endif
57
58
59-libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I../inc/common
60+libgstfsl_@GST_MAJORMINOR@_la_CFLAGS = $(GST_BASE_CFLAGS) $(IPU_CFLAGS) -I$(top_srcdir)/inc/common
61
62 if PLATFORM_IS_MX5X
63 libgstfsl_@GST_MAJORMINOR@_la_CFLAGS += -DIPULIB
64diff --git a/src/audio/aac_dec/src/Makefile.am b/src/audio/aac_dec/src/Makefile.am
65index 143f0b3..85a3b07 100755
66--- a/src/audio/aac_dec/src/Makefile.am
67+++ b/src/audio/aac_dec/src/Makefile.am
68@@ -22,7 +22,7 @@ libmfw_gst_aacdec_la_SOURCES = mfw_gst_aacdec.c
69 # flags used to compile this plugin
70 # we use the GST_LIBS flags because we might be using plug-in libs
71 libmfw_gst_aacdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC
72-libmfw_gst_aacdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
73+libmfw_gst_aacdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
74
75
76 if PLATFORM_IS_MX2X
77diff --git a/src/audio/aacplus_dec/src/Makefile.am b/src/audio/aacplus_dec/src/Makefile.am
78index a5453f9..9d8adfe 100755
79--- a/src/audio/aacplus_dec/src/Makefile.am
80+++ b/src/audio/aacplus_dec/src/Makefile.am
81@@ -35,7 +35,7 @@ libmfw_gst_aacplusdec_la_SOURCES = mfw_gst_aacplusdec.c
82 # flags used to compile this plugin
83 # we use the GST_LIBS flags because we might be using plug-in libs
84 libmfw_gst_aacplusdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC
85-libmfw_gst_aacplusdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
86+libmfw_gst_aacplusdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
87 if PLATFORM_IS_MX2X
88 libmfw_gst_aacplusdec_la_CFLAGS += -march=armv5te -mcpu=arm926ej-s
89 libmfw_gst_aacplusdec_la_CPPFLAGS += -march=armv5te -mcpu=arm926ej-s
90diff --git a/src/audio/ac3_dec/src/Makefile.am b/src/audio/ac3_dec/src/Makefile.am
91index 4916a32..0e2632d 100755
92--- a/src/audio/ac3_dec/src/Makefile.am
93+++ b/src/audio/ac3_dec/src/Makefile.am
94@@ -10,7 +10,7 @@ libmfw_gst_ac3dec_la_SOURCES = mfw_gst_ac3dec.c
95
96 # flags used to compile this plugin
97 # we use the GST_LIBS flags because we might be using plug-in libs
98-libmfw_gst_ac3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
99+libmfw_gst_ac3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
100 libmfw_gst_ac3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -l_ac3_dec_arm11_elinux
101 libmfw_gst_ac3dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
102 # headers we need but don't want installed
103diff --git a/src/audio/amr_dec/src/Makefile.am b/src/audio/amr_dec/src/Makefile.am
104index bf32d57..095a659 100755
105--- a/src/audio/amr_dec/src/Makefile.am
106+++ b/src/audio/amr_dec/src/Makefile.am
107@@ -19,7 +19,7 @@ libmfw_gst_amrdec_la_SOURCES = mfw_gst_amrdec.c
108 # flags used to compile this plugin
109 # we use the GST_LIBS flags because we might be using plug-in libs
110 libmfw_gst_amrdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC
111-libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
112+libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
113 libmfw_gst_amrdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR)
114 libmfw_gst_amrdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
115
116diff --git a/src/audio/amr_dec/src/Makefile.in b/src/audio/amr_dec/src/Makefile.in
117index 7ae3497..f282ef9 100644
118--- a/src/audio/amr_dec/src/Makefile.in
119+++ b/src/audio/amr_dec/src/Makefile.in
120@@ -381,7 +381,7 @@ libmfw_gst_amrdec_la_SOURCES = mfw_gst_amrdec.c
121 # flags used to compile this plugin
122 # we use the GST_LIBS flags because we might be using plug-in libs
123 libmfw_gst_amrdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC
124-libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
125+libmfw_gst_amrdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
126 libmfw_gst_amrdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR)
127 libmfw_gst_amrdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
128
129diff --git a/src/audio/amr_enc/src/Makefile.am b/src/audio/amr_enc/src/Makefile.am
130index 4dcc25e..a4d56c9 100755
131--- a/src/audio/amr_enc/src/Makefile.am
132+++ b/src/audio/amr_enc/src/Makefile.am
133@@ -19,7 +19,7 @@ libmfw_gst_amrenc_la_SOURCES = mfw_gst_amrenc.c
134 # flags used to compile this plugin
135 # we use the GST_LIBS flags because we might be using plug-in libs
136 libmfw_gst_amrenc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC
137-libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
138+libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
139 libmfw_gst_amrenc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR)
140 libmfw_gst_amrenc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
141
142diff --git a/src/audio/amr_enc/src/Makefile.in b/src/audio/amr_enc/src/Makefile.in
143index 3792973..575bb90 100644
144--- a/src/audio/amr_enc/src/Makefile.in
145+++ b/src/audio/amr_enc/src/Makefile.in
146@@ -381,7 +381,7 @@ libmfw_gst_amrenc_la_SOURCES = mfw_gst_amrenc.c
147 # flags used to compile this plugin
148 # we use the GST_LIBS flags because we might be using plug-in libs
149 libmfw_gst_amrenc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -fno-omit-frame-pointer -fPIC
150-libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
151+libmfw_gst_amrenc_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
152 libmfw_gst_amrenc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(CORELIB) -lgstaudio-$(GST_MAJORMINOR)
153 libmfw_gst_amrenc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
154
155diff --git a/src/audio/audio_pp/src/Makefile.am b/src/audio/audio_pp/src/Makefile.am
156index 42365a0..32569fe 100755
157--- a/src/audio/audio_pp/src/Makefile.am
158+++ b/src/audio/audio_pp/src/Makefile.am
159@@ -1,7 +1,7 @@
160 plugin_LTLIBRARIES = libmfw_gst_audio_pp.la
161
162 libmfw_gst_audio_pp_la_SOURCES = mfw_gst_audio_pp.c
163-libmfw_gst_audio_pp_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
164+libmfw_gst_audio_pp_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
165 libmfw_gst_audio_pp_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_peq_arm11_elinux
166 libmfw_gst_audio_pp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
167
168diff --git a/src/audio/beep/src/Makefile.am b/src/audio/beep/src/Makefile.am
169index fdd6669..4e92b92 100755
170--- a/src/audio/beep/src/Makefile.am
171+++ b/src/audio/beep/src/Makefile.am
172@@ -8,24 +8,24 @@ libmfw_gst_beep_la_SOURCES = beep.c beepregistry.c beepdec.c beeptypefind.c
173 # flags used to compile this plugin
174 # we use the GST_LIBS flags because we might be using plug-in libs
175 if PLATFORM_IS_MX2X
176-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM9 -march=armv5te -mcpu=arm926ej-s
177+libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM9 -march=armv5te -mcpu=arm926ej-s
178 libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
179 endif
180
181
182 if PLATFORM_IS_MX3X
183-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM11
184+libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM11
185 libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
186 endif
187
188
189 if PLATFORM_IS_MX5X
190-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM12
191+libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM12
192 libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
193 endif
194
195 if PLATFORM_IS_MX6X
196-libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs -I../../../../inc/core_lib/uni_audio -D_ARM12
197+libmfw_gst_beep_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs -I$(top_srcdir)/inc/core_lib/uni_audio -D_ARM12
198 libmfw_gst_beep_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
199 endif
200
201diff --git a/src/audio/down_mix/src/Makefile.am b/src/audio/down_mix/src/Makefile.am
202index 9fa392c..ff7b589 100755
203--- a/src/audio/down_mix/src/Makefile.am
204+++ b/src/audio/down_mix/src/Makefile.am
205@@ -1,7 +1,7 @@
206 plugin_LTLIBRARIES = libmfw_gst_downmix.la
207
208 libmfw_gst_downmix_la_SOURCES = mfw_gst_downmix.c
209-libmfw_gst_downmix_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
210+libmfw_gst_downmix_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
211 libmfw_gst_downmix_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_downmix_arm11_elinux
212 libmfw_gst_downmix_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
213
214diff --git a/src/audio/mp3_dec/src/Makefile.am b/src/audio/mp3_dec/src/Makefile.am
215index 9361da7..bd79288 100755
216--- a/src/audio/mp3_dec/src/Makefile.am
217+++ b/src/audio/mp3_dec/src/Makefile.am
218@@ -27,23 +27,23 @@ libmfw_gst_mp3dec_la_SOURCES = mfw_gst_mp3dec.c
219 # flags used to compile this plugin
220 # we use the GST_LIBS flags because we might be using plug-in libs
221 if PLATFORM_IS_MX2X
222-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -march=armv5te -mcpu=arm926ej-s
223+libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -march=armv5te -mcpu=arm926ej-s
224 libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm9_elinux
225 endif
226
227
228
229 if PLATFORM_IS_MX3X
230-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
231+libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
232 libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux
233 endif
234
235 if PLATFORM_IS_MX5X
236-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
237+libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
238 libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux
239 endif
240 if PLATFORM_IS_MX6X
241-libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
242+libmfw_gst_mp3dec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DMP3D_HUF_DEQ_BYTEBUF_OPT_C -DMPEGLAYER2 -DPUSH_MODE $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
243 libmfw_gst_mp3dec_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l$(CORELIB) -l_mp3_parser_arm11_elinux
244 endif
245
246diff --git a/src/audio/mp3_enc/src/Makefile.am b/src/audio/mp3_enc/src/Makefile.am
247index 0d9b79c..934fc80 100755
248--- a/src/audio/mp3_enc/src/Makefile.am
249+++ b/src/audio/mp3_enc/src/Makefile.am
250@@ -26,19 +26,19 @@ libmfw_gst_mp3enc_la_SOURCES = mfw_gst_mp3enc.c
251 # flags used to compile this plugin
252 # add other _CFLAGS and _LIBS as needed
253 if PLATFORM_IS_MX2X
254-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -march=armv5te -mcpu=arm926ej-s
255+libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -march=armv5te -mcpu=arm926ej-s
256 endif
257
258
259 if PLATFORM_IS_MX3X
260-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
261+libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
262 endif
263
264 if PLATFORM_IS_MX5X
265-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
266+libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
267 endif
268 if PLATFORM_IS_MX6X
269-libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
270+libmfw_gst_mp3enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
271 endif
272
273
274diff --git a/src/audio/spdif_rx/src/Makefile.am b/src/audio/spdif_rx/src/Makefile.am
275index 80dfb73..f22c6fb 100755
276--- a/src/audio/spdif_rx/src/Makefile.am
277+++ b/src/audio/spdif_rx/src/Makefile.am
278@@ -1,7 +1,7 @@
279 plugin_LTLIBRARIES = libmfw_gst_spdifrx.la
280
281 libmfw_gst_spdifrx_la_SOURCES = mfw_gst_spdifrx.c
282-libmfw_gst_spdifrx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin
283+libmfw_gst_spdifrx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin
284 libmfw_gst_spdifrx_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS)
285 libmfw_gst_spdifrx_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lgstriff-@GST_MAJORMINOR@
286
287diff --git a/src/audio/spdif_tx/src/Makefile.am b/src/audio/spdif_tx/src/Makefile.am
288index 6b17886..a330e5d 100755
289--- a/src/audio/spdif_tx/src/Makefile.am
290+++ b/src/audio/spdif_tx/src/Makefile.am
291@@ -1,7 +1,7 @@
292 plugin_LTLIBRARIES = libmfw_gst_spdiftx.la
293
294 libmfw_gst_spdiftx_la_SOURCES = mfw_gst_spdiftx.c
295-libmfw_gst_spdiftx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin
296+libmfw_gst_spdiftx_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin
297 libmfw_gst_spdiftx_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS)
298 libmfw_gst_spdiftx_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -lgstriff-@GST_MAJORMINOR@
299
300diff --git a/src/audio/vorbis_dec/src/Makefile.am b/src/audio/vorbis_dec/src/Makefile.am
301index f43751b..9fc922d 100755
302--- a/src/audio/vorbis_dec/src/Makefile.am
303+++ b/src/audio/vorbis_dec/src/Makefile.am
304@@ -10,7 +10,7 @@ libmfw_gst_vorbisdec_la_SOURCES = mfw_gst_vorbisdec.c
305 # flags used to compile this plugin
306 # we use the GST_LIBS flags because we might be using plug-in libs
307 libmfw_gst_vorbisdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -DMPEG4 -DARM_OPT_MACROS -DLC -DPUSH_MODE -fno-omit-frame-pointer -fPIC
308-libmfw_gst_vorbisdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
309+libmfw_gst_vorbisdec_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
310
311
312 libmfw_gst_vorbisdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstaudio-$(GST_MAJORMINOR) -l$(CORELIB)
313diff --git a/src/audio/wma10_dec/src/Makefile.am b/src/audio/wma10_dec/src/Makefile.am
314index 50f5314..ab9147f 100755
315--- a/src/audio/wma10_dec/src/Makefile.am
316+++ b/src/audio/wma10_dec/src/Makefile.am
317@@ -26,21 +26,21 @@ libmfw_gst_wma10dec_la_SOURCES = mfw_gst_wma10dec.c
318 # flags used to compile this plugin
319 # we use the GST_LIBS flags because we might be using plug-in libs
320 if PLATFORM_IS_MX2X
321-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -march=armv5te -mcpu=arm926ej-s
322+libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -march=armv5te -mcpu=arm926ej-s
323 endif
324
325
326 if PLATFORM_IS_MX3X
327-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
328+libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
329 endif
330
331
332
333 if PLATFORM_IS_MX5X
334-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
335+libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
336 endif
337 if PLATFORM_IS_MX6X
338-libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin
339+libmfw_gst_wma10dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DGST_API -DGST_RAW_DECODER $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin
340 endif
341
342
343diff --git a/src/audio/wma8_enc/src/Makefile.am b/src/audio/wma8_enc/src/Makefile.am
344index 82ed82e..04c93bb 100755
345--- a/src/audio/wma8_enc/src/Makefile.am
346+++ b/src/audio/wma8_enc/src/Makefile.am
347@@ -11,7 +11,7 @@ libmfw_gst_wma8enc_la_SOURCES = mfw_gst_wma8enc.c
348
349 # flags used to compile this plugin
350 # add other _CFLAGS and _LIBS as needed
351-libmfw_gst_wma8enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
352+libmfw_gst_wma8enc_la_CFLAGS = $(GST_CFLAGS) $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
353 libmfw_gst_wma8enc_la_LIBADD = $(GST_LIBS) -l_wma_muxer_arm11_ELINUX -lgstbase-$(GST_MAJORMINOR) -l_wma8_enc_arm11_elinux
354 libmfw_gst_wma8enc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
355
356diff --git a/src/misc/i_sink/src/Makefile.am b/src/misc/i_sink/src/Makefile.am
357index 721d10c..a6dfaf5 100755
358--- a/src/misc/i_sink/src/Makefile.am
359+++ b/src/misc/i_sink/src/Makefile.am
360@@ -6,7 +6,7 @@ endif
361 plugin_LTLIBRARIES = libmfw_gst_isink.la
362
363 libmfw_gst_isink_la_SOURCES = mfw_gst_isink.c
364-libmfw_gst_isink_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(IPU_CFLAGS) -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/common -I../../../../libs/vss -I../../../../libs/gstbufmeta -I../../../../libs/hbuf_alloc -I$(FBHEADER_PATH) -I. -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include
365+libmfw_gst_isink_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer $(IPU_CFLAGS) -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/common -I$(top_srcdir)/libs/vss -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/hbuf_alloc -I$(FBHEADER_PATH) -I. -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include
366 libmfw_gst_isink_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR)
367 libmfw_gst_isink_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
368 libmfw_gst_isink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
369diff --git a/src/misc/tvsrc/src/Makefile.am b/src/misc/tvsrc/src/Makefile.am
370index dfe080b..a765e87 100755
371--- a/src/misc/tvsrc/src/Makefile.am
372+++ b/src/misc/tvsrc/src/Makefile.am
373@@ -7,7 +7,7 @@ endif
374 plugin_LTLIBRARIES = libmfw_gst_tvsrc.la
375
376 libmfw_gst_tvsrc_la_SOURCES = mfw_gst_tvsrc.c
377-libmfw_gst_tvsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I../../../../inc/plugin -I../../../../libs/gstbufmeta
378+libmfw_gst_tvsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/gstbufmeta
379 libmfw_gst_tvsrc_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
380 libmfw_gst_tvsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
381
382diff --git a/src/misc/v4l_sink/src/Makefile.am b/src/misc/v4l_sink/src/Makefile.am
383index 4489cc4..a1f6cb8 100755
384--- a/src/misc/v4l_sink/src/Makefile.am
385+++ b/src/misc/v4l_sink/src/Makefile.am
386@@ -3,32 +3,32 @@ plugin_LTLIBRARIES = libmfw_gst_v4lsink.la
387 libmfw_gst_v4lsink_la_SOURCES = mfw_gst_fb.c mfw_gst_v4l.c mfw_gst_v4l_buffer.c mfw_gst_v4lsink.c
388 libmfw_gst_v4lsink_la_CFLAGS = -I/usr/src/linux-headers-2.6.35-1000-linaro-imx5/include
389 if PLATFORM_IS_MX233
390-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te
391+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te
392 endif
393 if PLATFORM_IS_MX25
394-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te
395+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te
396 endif
397 if PLATFORM_IS_MX27
398-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te
399+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te
400 endif
401 if PLATFORM_IS_MX28
402-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc -march=armv5te
403+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc -march=armv5te
404 endif
405
406 if PLATFORM_IS_MX3X
407-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc
408+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc
409 endif
410 if PLATFORM_IS_MX5X
411-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc
412+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc
413 endif
414 if PLATFORM_IS_MX6X
415-libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I../../../../inc/plugin -I../../../../inc/misc
416+libmfw_gst_v4lsink_la_CFLAGS += -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -DENABLE_TVOUT -D_$(PLATFORM) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/misc
417 endif
418
419 libmfw_gst_v4lsink_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
420
421
422-libmfw_gst_v4lsink_la_CFLAGS += $(IPU_CFLAGS) -I. -I../../../../libs/gstbufmeta
423+libmfw_gst_v4lsink_la_CFLAGS += $(IPU_CFLAGS) -I. -I$(top_srcdir)/libs/gstbufmeta
424
425 if USE_X11
426 libmfw_gst_v4lsink_la_SOURCES += mfw_gst_v4l_xlib.c mfw_gst_xlib.c mfw_gst_v4l_suspend.c
427diff --git a/src/misc/v4l_source/src/Makefile.am b/src/misc/v4l_source/src/Makefile.am
428index b80d27e..4ef1351 100755
429--- a/src/misc/v4l_source/src/Makefile.am
430+++ b/src/misc/v4l_source/src/Makefile.am
431@@ -7,7 +7,7 @@ endif
432 plugin_LTLIBRARIES = libmfw_gst_v4lsrc.la
433
434 libmfw_gst_v4lsrc_la_SOURCES = mfw_gst_v4lsrc.c
435-libmfw_gst_v4lsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I../../../../inc/plugin -I../../../../libs/gstbufmeta
436+libmfw_gst_v4lsrc_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(IPU_CFLAGS) -D$(PLATFORM) -I$(FBHEADER_PATH) -I. -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/gstbufmeta
437 libmfw_gst_v4lsrc_la_LIBADD = $(GST_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstinterfaces-$(GST_MAJORMINOR) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
438 libmfw_gst_v4lsrc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
439
440diff --git a/src/parser/aiur/src/Makefile.am b/src/parser/aiur/src/Makefile.am
441index 24ac78e..752a155 100755
442--- a/src/parser/aiur/src/Makefile.am
443+++ b/src/parser/aiur/src/Makefile.am
444@@ -4,7 +4,7 @@ plugin_LTLIBRARIES = libmfw_gst_aiur_demux.la
445 # for the next set of variables, rename the prefix if you renamed the .la
446 # sources used to compile this plug-in
447 libmfw_gst_aiur_demux_la_SOURCES = aiur.c aiurregistry.c aiurstreamcache.c aiuridxtab.c aiurdemux.c aiurtypefind.c
448-libmfw_gst_aiur_demux_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DFSL_AVI_DRM_SUPPORT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib/parser -I../../../../libs
449+libmfw_gst_aiur_demux_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -DFSL_AVI_DRM_SUPPORT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib/parser -I$(top_srcdir)/libs
450 libmfw_gst_aiur_demux_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@ -ldl ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
451 libmfw_gst_aiur_demux_la_CPPFLAGS = $(GST_LIBS_CPPFLAGS)
452 libmfw_gst_aiur_demux_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
453diff --git a/src/video/deinterlace/src/Makefile.am b/src/video/deinterlace/src/Makefile.am
454index 08150f9..4f20d58 100755
455--- a/src/video/deinterlace/src/Makefile.am
456+++ b/src/video/deinterlace/src/Makefile.am
457@@ -1,7 +1,7 @@
458 plugin_LTLIBRARIES = libmfw_gst_deinterlace.la
459
460 libmfw_gst_deinterlace_la_SOURCES = mfw_gst_deinterlace.c
461-libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin -I../../../../inc/core_lib $(FSL_MM_CORE_CFLAGS)
462+libmfw_gst_deinterlace_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib $(FSL_MM_CORE_CFLAGS)
463 libmfw_gst_deinterlace_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_deinterlace_arm11_elinux
464 libmfw_gst_deinterlace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
465
466diff --git a/src/video/h264_dec/src/Makefile.am b/src/video/h264_dec/src/Makefile.am
467index af2b3ac..278f748 100755
468--- a/src/video/h264_dec/src/Makefile.am
469+++ b/src/video/h264_dec/src/Makefile.am
470@@ -28,21 +28,21 @@ libmfw_gst_h264dec_la_SOURCES = mfw_gst_h264dec.c
471 # flags used to compile this plugin
472 # we use the GST_LIBS flags because we might be using plug-in libs
473 if PLATFORM_IS_MX2X
474-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -O2 -DDPB_FIX -D_$(PLATFORM) -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I../../../../libs/me -I../../../../libs/gstbufmeta
475+libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -O2 -DDPB_FIX -D_$(PLATFORM) -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
476 endif
477
478
479 if PLATFORM_IS_MX3X
480-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
481+libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
482 endif
483
484
485 if PLATFORM_IS_MX5X
486-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
487+libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
488 endif
489
490 if PLATFORM_IS_MX6X
491-libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
492+libmfw_gst_h264dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -O2 -DDPB_FIX -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
493 endif
494
495 libmfw_gst_h264dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l$(CORELIB)
496diff --git a/src/video/ipu_csc/src/Makefile.am b/src/video/ipu_csc/src/Makefile.am
497index 8015448..12b44a1 100755
498--- a/src/video/ipu_csc/src/Makefile.am
499+++ b/src/video/ipu_csc/src/Makefile.am
500@@ -6,7 +6,7 @@ endif
501 plugin_LTLIBRARIES = libmfw_gst_ipu_csc.la
502
503 libmfw_gst_ipu_csc_la_SOURCES = mfw_gst_ipu_csc.c
504-libmfw_gst_ipu_csc_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I../../../../inc/plugin -I../../../../
505+libmfw_gst_ipu_csc_la_CFLAGS = -O2 $(GST_BASE_CFLAGS) -fPIC -fno-omit-frame-pointer -I$(top_srcdir)/inc/plugin -I$(top_srcdir)
506 libmfw_gst_ipu_csc_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) $(IPU_LIBS) ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
507 libmfw_gst_ipu_csc_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
508
509diff --git a/src/video/mpeg2_dec/src/Makefile.am b/src/video/mpeg2_dec/src/Makefile.am
510index 006f740..d44a9b0 100755
511--- a/src/video/mpeg2_dec/src/Makefile.am
512+++ b/src/video/mpeg2_dec/src/Makefile.am
513@@ -7,7 +7,7 @@ libmfw_gst_mpeg2dec_la_SOURCES = mfw_gst_mpeg2dec.c
514
515 # flags used to compile this plugin
516 # we use the GST_LIBS flags because we might be using plug-in libs
517-libmfw_gst_mpeg2dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -I../../../../libs/me -I../../../../libs/gstbufmeta
518+libmfw_gst_mpeg2dec_la_CFLAGS = $(GST_BASE_CFLAGS) -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
519 libmfw_gst_mpeg2dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -l_mpeg2_dec_arm11_elinux
520 libmfw_gst_mpeg2dec_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
521 libmfw_gst_mpeg2dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS)
522diff --git a/src/video/mpeg4asp_dec/src/Makefile.am b/src/video/mpeg4asp_dec/src/Makefile.am
523index 97dd578..394d42d 100755
524--- a/src/video/mpeg4asp_dec/src/Makefile.am
525+++ b/src/video/mpeg4asp_dec/src/Makefile.am
526@@ -28,19 +28,19 @@ libmfw_gst_mpeg4aspdec_la_SOURCES = mfw_gst_mpeg4asp_dec.c
527 # flags used to compile this plugin
528 # we use the GST_LIBS flags because we might be using plug-in libs
529 if PLATFORM_IS_MX2X
530-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I../../../../libs/me -I../../../../libs/gstbufmeta
531+libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -march=armv5te -mcpu=arm926ej-s -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
532 endif
533
534 if PLATFORM_IS_MX3X
535-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
536+libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
537 endif
538
539 if PLATFORM_IS_MX5X
540-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
541+libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
542 endif
543
544 if PLATFORM_IS_MX6X
545-libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/me -I../../../../libs/gstbufmeta
546+libmfw_gst_mpeg4aspdec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DPADDED_OUTPUT -DOUTPUT_BUFFER_CHANGES $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
547 endif
548
549
550diff --git a/src/video/vpu/src/Makefile.am b/src/video/vpu/src/Makefile.am
551index c8b64ea..cb66817 100755
552--- a/src/video/vpu/src/Makefile.am
553+++ b/src/video/vpu/src/Makefile.am
554@@ -8,7 +8,7 @@ libmfw_vpu_la_SOURCES = vpu.c vpudec.c vpuenc.c
555 # flags used to compile this plugin
556 # we use the GST_LIBS flags because we might be using plug-in libs
557
558-libmfw_vpu_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../libs/me -I../../../../libs/gstbufmeta -I../../../../libs/gstsutils -I../../../../libs/gstnext -I../../../../inc/core_lib
559+libmfw_vpu_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/gstsutils -I$(top_srcdir)/libs/gstnext -I$(top_srcdir)/inc/core_lib
560 libmfw_vpu_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) -lgstriff-@GST_MAJORMINOR@ -lgsttag-@GST_MAJORMINOR@
561
562 libmfw_vpu_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
563diff --git a/src/video/vpu_dec.full/src/Makefile.am b/src/video/vpu_dec.full/src/Makefile.am
564index 7c878a8..be682fd 100755
565--- a/src/video/vpu_dec.full/src/Makefile.am
566+++ b/src/video/vpu_dec.full/src/Makefile.am
567@@ -27,7 +27,7 @@ libmfw_gst_vpu_dec_la_SOURCES = mfw_gst_vpu_decoder.c mfw_gst_vpu_thread.c
568
569 # flags used to compile this plugin
570 # we use the GST_LIBS flags because we might be using plug-in libs
571-libmfw_gst_vpu_dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I../../../../inc/plugin $(GST_PLATFORM_FLAGS) -DREALMEDIA -DDIVX -I../../../../libs/me -I../../../../libs/gstbufmeta
572+libmfw_gst_vpu_dec_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I$(top_srcdir)/inc/plugin $(GST_PLATFORM_FLAGS) -DREALMEDIA -DDIVX -I$(top_srcdir)/libs/me -I$(top_srcdir)/libs/gstbufmeta
573 libmfw_gst_vpu_dec_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS) -lvpu -lgstvideo-0.10
574 libmfw_gst_vpu_dec_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
575 libmfw_gst_vpu_dec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(VPU_LIBS)
576diff --git a/src/video/vpu_enc/src/Makefile.am b/src/video/vpu_enc/src/Makefile.am
577index ac8f272..a1da20b 100755
578--- a/src/video/vpu_enc/src/Makefile.am
579+++ b/src/video/vpu_enc/src/Makefile.am
580@@ -10,7 +10,7 @@ libmfw_gst_vpu_enc_la_SOURCES = mfw_gst_vpu_encoder.c
581
582 # flags used to compile this plugin
583 # we use the GST_LIBS flags because we might be using plug-in libs
584-libmfw_gst_vpu_enc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I../../../../inc/plugin -DVPU_$(PLATFORM) -I../../../../libs/gstbufmeta -I../../../../libs/vss -I../../../../libs/hbuf_alloc -I../../../../libs/me
585+libmfw_gst_vpu_enc_la_CFLAGS = $(GST_BASE_CFLAGS) -O2 $(VPU_CFLAGS) -I$(top_srcdir)/inc/plugin -DVPU_$(PLATFORM) -I$(top_srcdir)/libs/gstbufmeta -I$(top_srcdir)/libs/vss -I$(top_srcdir)/libs/hbuf_alloc -I$(top_srcdir)/libs/me
586
587 libmfw_gst_vpu_enc_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -lvpu
588 libmfw_gst_vpu_enc_la_LIBADD += ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
589diff --git a/src/video/wmv9mp_dec/src/Makefile.am b/src/video/wmv9mp_dec/src/Makefile.am
590index 49c0953..4bd7bda 100755
591--- a/src/video/wmv9mp_dec/src/Makefile.am
592+++ b/src/video/wmv9mp_dec/src/Makefile.am
593@@ -7,7 +7,7 @@ libmfw_gst_wmv9mpdec_la_SOURCES = mfw_gst_wmv9mpdec.c
594
595 # flags used to compile this plugin
596 # we use the GST_LIBS flags because we might be using plug-in libs
597-libmfw_gst_wmv9mpdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I../../../../libs/gstbufmeta
598+libmfw_gst_wmv9mpdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib -DDIRECT_RENDER_VERSION=2 -DFRAMEDROPING_ENALBED -I$(top_srcdir)/libs/gstbufmeta
599 libmfw_gst_wmv9mpdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l_WMV9MP_dec_MP_arm11_elinux ../../../../libs/libgstfsl-@GST_MAJORMINOR@.la
600 libmfw_gst_wmv9mpdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
601
602diff --git a/src/video/wmv_dec/src/Makefile.am b/src/video/wmv_dec/src/Makefile.am
603index 95d563a..3e87976 100755
604--- a/src/video/wmv_dec/src/Makefile.am
605+++ b/src/video/wmv_dec/src/Makefile.am
606@@ -7,7 +7,7 @@ libmfw_gst_wmvdec_la_SOURCES = mfw_gst_wmvdec.c
607
608 # flags used to compile this plugin
609 # we use the GST_LIBS flags because we might be using plug-in libs
610-libmfw_gst_wmvdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DWMV9_SIMPLE_ONLY -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I../../../../inc/plugin -I../../../../inc/core_lib
611+libmfw_gst_wmvdec_la_CFLAGS = $(GST_BASE_CFLAGS) $(GST_BASE_CFLAGS) -O2 -fno-omit-frame-pointer -fPIC -DOUTPUT_BUFFER_CHANGES -DWMV9_SIMPLE_ONLY -DPADDED_OUTPUT $(FSL_MM_CORE_CFLAGS) -I$(top_srcdir)/inc/plugin -I$(top_srcdir)/inc/core_lib
612 libmfw_gst_wmvdec_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) -l_WMV789_dec_arm11_elinux
613 libmfw_gst_wmvdec_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(FSL_MM_CORE_LIBS) -lgstriff-@GST_MAJORMINOR@
614
615--
6162.0.0.rc0
617
diff --git a/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb b/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb
new file mode 100644
index 0000000..d0b0c9e
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-fsl-plugin_3.0.11.bb
@@ -0,0 +1,11 @@
1# Copyright (C) 2013-14 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require gst-fsl-plugin.inc
5
6EXTRA_OECONF += " CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}"
7
8SRC_URI[md5sum] = "0ed858681a74857034c006036023e6ce"
9SRC_URI[sha256sum] = "fbc6000b401ac2c8d67d1414372f4a929cf0a5808f6ed1640f1d2bfcce2f2a4f"
10
11COMPATIBLE_MACHINE = "(mx28|mx5|mx6)"
diff --git a/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch b/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch
new file mode 100644
index 0000000..16d89b3
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-plugins-base/gstplaybin2-rawvideo-support.patch
@@ -0,0 +1,28 @@
1From cecba1668bc8607112a6a2b802c82b6313a0d2b4 Mon Sep 17 00:00:00 2001
2From: Adrian Alonso <aalonso@freescale.com>
3Date: Tue, 19 Jun 2012 15:37:56 -0500
4Subject: [PATCH] gstplaybin2: rawvideo support
5
6* Enable support for rawvideo
7* Support direct rendering for mfw_v4lsink plugin
8
9Signed-off-by: Adrian Alonso <aalonso@freescale.com>
10---
11 gst/playback/gstplaybin2.c | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
15index e01ff6c..9c638ae 100644
16--- a/gst/playback/gstplaybin2.c
17+++ b/gst/playback/gstplaybin2.c
18@@ -456,7 +456,7 @@ struct _GstPlayBinClass
19 #define DEFAULT_SUBURI NULL
20 #define DEFAULT_SOURCE NULL
21 #define DEFAULT_FLAGS GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
22- GST_PLAY_FLAG_SOFT_VOLUME
23+ GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO
24 #define DEFAULT_N_VIDEO 0
25 #define DEFAULT_CURRENT_VIDEO -1
26 #define DEFAULT_N_AUDIO 0
27--
281.7.10.2
diff --git a/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend
new file mode 100644
index 0000000..ecb2b54
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-plugins-base_%.bbappend
@@ -0,0 +1,11 @@
1# Freescale gstplaybin2 rawvideo support
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
4
5SRC_URI_append_mxs = " file://gstplaybin2-rawvideo-support.patch"
6SRC_URI_append_mx5 = " file://gstplaybin2-rawvideo-support.patch"
7SRC_URI_append_mx6 = " file://gstplaybin2-rawvideo-support.patch"
8
9PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}"
10PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}"
11PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch b/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch
new file mode 100644
index 0000000..d4f5576
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-plugins-gl/IMX_MMCODEC_3.0.35_4.0.0.patch
@@ -0,0 +1,2438 @@
1diff --git a/configure.ac b/configure.ac
2index 6a4efe0..fa277fa 100644
3--- a/configure.ac
4+++ b/configure.ac
5@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
6 dnl initialize autoconf
7 dnl releases only do -Wall, git and prerelease does -Werror too
8 dnl use a three digit version number for releases, and four for git/prerelease
9-AC_INIT(GStreamer OpenGL Plug-ins, 0.10.3,
10+AC_INIT(GStreamer OpenGL Plug-ins, 0.10.3.1,
11 http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
12 gst-plugins-gl)
13
14@@ -61,7 +61,7 @@ dnl AS_LIBTOOL_TAGS
15
16 AC_LIBTOOL_WIN32_DLL
17 AM_PROG_LIBTOOL
18-AS_PROG_OBJC
19+AC_PROG_OBJC
20
21 dnl *** required versions of GStreamer stuff ***
22 GST_REQ=0.10.35
23@@ -83,6 +83,8 @@ AG_GST_GETTEXT([gst-plugins-gl-$GST_MAJORMINOR])
24
25 dnl *** check for arguments to configure ***
26
27+AG_GST_ARG_DISABLE_FATAL_WARNINGS
28+
29 AG_GST_ARG_DEBUG
30 AG_GST_ARG_PROFILING
31 AG_GST_ARG_VALGRIND
32@@ -160,36 +162,48 @@ AG_GST_CHECK_FUNCTION
33 dnl *** checks for dependency libraries ***
34
35 dnl GLib is required
36-AG_GST_GLIB_CHECK([2.6])
37+AG_GST_GLIB_CHECK([2.22])
38
39 #dnl Check for OpenGL, GLU and GLEW
40 echo host is $host
41 case $host in
42 *-linux* | *-cygwin* | *-solaris* | *-netbsd* | *-freebsd* | *-openbsd* | *-kfreebsd* | *-dragonflybsd* | *-gnu* )
43- AG_GST_CHECK_X
44 save_CPPFLAGS="$CPPFLAGS"
45 save_LIBS="$LIBS"
46- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
47- LIBS="$LIBS $X_LIBS"
48- #PKG_CHECK_MODULES(GL, gl, HAVE_GL=yes, HAVE_GL=no)
49- AC_CHECK_HEADERS([GL/gl.h], [HAVE_GL=yes], [HAVE_GL=no])
50- if test "x$HAVE_GL" = "xyes"; then
51- AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h,, AC_MSG_ERROR([OpenGL is required]))
52- AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h,, AC_MSG_ERROR([GLU is required]))
53- AG_GST_CHECK_LIBHEADER(GLEW, GLEW, glewInit,, GL/glew.h,, AC_MSG_ERROR([GLEW is required]))
54- GL_LIBS="$LIBS $X_LIBS -lGL -lGLU -lGLEW"
55- GL_BACKEND=x11
56- GL_TYPE=gl
57+ AC_CHECK_LIB(EGL, fbGetDisplay, HAVE_EGL_FB=yes, HAVE_EGL_FB=no)
58+ if test "x$HAVE_EGL_FB" = "xyes"; then
59+ GL_LIBS="$LIBS -lGLESv2 -lEGL"
60+ GL_BACKEND=fbES2
61+ GL_TYPE=gles
62+ save_CPPFLAGS="$save_CPPFLAGS -DLINUX -DEGL_API_FB"
63 else
64+ AG_GST_CHECK_X
65+ CPPFLAGS="$CPPFLAGS $X_CFLAGS -DLINUX"
66+ LIBS="$LIBS $X_LIBS"
67 AC_CHECK_HEADERS([EGL/egl.h], [HAVE_EGL=yes], [HAVE_EGL=no])
68 if test "x$HAVE_EGL" = "xyes"; then
69 AG_GST_CHECK_LIBHEADER(EGL, EGL, eglGetError,, EGL/egl.h,, AC_MSG_ERROR([EGL is required]))
70+ s_LIBS="$LIBS"
71+ LIBS="-lEGL $LIBS"
72 AG_GST_CHECK_LIBHEADER(GLES2, GLESv2, glTexImage2D,, GLES2/gl2.h,, AC_MSG_ERROR([OpenGLES2 is required]))
73- GL_LIBS="$LIBS $X_LIBS -lEGL -lGLESv2"
74+ LIBS="$s_LIBS"
75+ GL_LIBS="$LIBS -lGLESv2 -lEGL"
76 GL_BACKEND=x11ES2
77 GL_TYPE=gles
78+ save_CPPFLAGS="$save_CPPFLAGS -DLINUX"
79 else
80- AC_MSG_ERROR([GL or EGL is required, consider installing libgl1-mesa-dev])
81+ #PKG_CHECK_MODULES(GL, gl, HAVE_GL=yes, HAVE_GL=no)
82+ AC_CHECK_HEADERS([GL/gl.h], [HAVE_GL=yes], [HAVE_GL=no])
83+ if test "x$HAVE_GL" = "xyes"; then
84+ AG_GST_CHECK_LIBHEADER(GL, GL, glTexImage2D,, GL/gl.h,, AC_MSG_ERROR([OpenGL is required]))
85+ AG_GST_CHECK_LIBHEADER(GLU, GLU, gluSphere,, GL/glu.h,, AC_MSG_ERROR([GLU is required]))
86+ AG_GST_CHECK_LIBHEADER(GLEW, GLEW, glewInit,, GL/glew.h,, AC_MSG_ERROR([GLEW is required]))
87+ GL_LIBS="$LIBS $X_LIBS -lGL -lGLU -lGLEW"
88+ GL_BACKEND=x11
89+ GL_TYPE=gl
90+ else
91+ AC_MSG_ERROR([GL or EGL is required, consider installing libgl1-mesa-dev])
92+ fi
93 fi
94 fi
95 CPPFLAGS="$save_CPPFLAGS"
96@@ -230,6 +244,7 @@ AC_SUBST(GL_BACKEND)
97 AC_SUBST(OPENGL_ES2)
98 AM_CONDITIONAL(GL_BACKEND_X11, test "x$GL_BACKEND" = "xx11")
99 AM_CONDITIONAL(GL_BACKEND_X11ES2, test "x$GL_BACKEND" = "xx11ES2")
100+AM_CONDITIONAL(GL_BACKEND_FBES2, test "x$GL_BACKEND" = "xfbES2")
101 AM_CONDITIONAL(GL_BACKEND_COCOA, test "x$GL_BACKEND" = "xcocoa")
102 AM_CONDITIONAL(GL_BACKEND_WIN32, test "x$GL_BACKEND" = "xwin32")
103 AM_CONDITIONAL(GL_IS_OPENGL, test "x$GL_TYPE" = "xgl")
104@@ -251,6 +266,18 @@ AC_SUBST(GLIB_PREFIX)
105 AC_SUBST(GST_PREFIX)
106 AC_SUBST(GSTPB_PREFIX)
107
108+GST_FSL_CFLAGS="`$PKG_CONFIG --cflags gstreamer-fsl-$GST_MAJORMINOR`"
109+GST_FSL_LIBS="`$PKG_CONFIG --libs gstreamer-fsl-$GST_MAJORMINOR`"
110+AC_CHECK_HEADERS([EGL/eglvivante.h], HAVE_VIVANTE=[yes], HAVE_VIVANTE=[no])
111+if test "x$HAVE_VIVANTE" = "xyes"; then
112+ if test "x$GST_FSL_CFLAGS" = "x"; then
113+ AC_MSG_ERROR([gstreamer-fsl is required])
114+ fi
115+ AC_DEFINE(GPU_VIVANTE, [1], [Use Vivante GPU])
116+fi
117+AM_CONDITIONAL(USE_VIVANTE, test "x$HAVE_VIVANTE" = "xyes")
118+AC_SUBST(GST_FSL_CFLAGS)
119+AC_SUBST(GST_FSL_LIBS)
120
121 dnl libpng is optional
122 PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no)
123@@ -269,12 +296,15 @@ if test x$with_jpeg_mmx != x; then
124 LIBS="$LIBS -L$with_jpeg_mmx"
125 fi
126 AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
127-JPEG_LIBS="$LIBS -ljpeg-mmx"
128-LIBS="$OLD_LIBS"
129 if test x$HAVE_JPEG != xyes; then
130 AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no")
131- JPEG_LIBS="-ljpeg"
132- AC_DEFINE(HAVE_JPEG, [1] , [Use libjpeg])
133+ if test x$HAVE_JPEG = xyes; then
134+ JPEG_LIBS="-ljpeg"
135+ AC_DEFINE(HAVE_JPEG, [1] , [Use libjpeg])
136+ fi
137+else
138+ JPEG_LIBS="$LIBS -ljpeg-mmx"
139+ LIBS="$OLD_LIBS"
140 fi
141 AC_SUBST(HAVE_JPEG)
142 AC_SUBST(JPEG_LIBS)
143@@ -383,8 +413,14 @@ AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO([$PACKAGE_VERSION_NANO],
144 [$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_MICRO])
145
146 dnl define an ERROR_CFLAGS Makefile variable
147-AG_GST_SET_ERROR_CFLAGS($GST_GIT)
148-AG_GST_SET_ERROR_CXXFLAGS($GST_GIT)
149+AG_GST_SET_ERROR_CFLAGS($FATAL_WARNINGS)
150+AG_GST_SET_ERROR_CXXFLAGS($FATAL_WARNINGS)
151+dnl define an ERROR_OBJCFLAGS Makefile variable
152+AG_GST_SET_ERROR_OBJCFLAGS($FATAL_WARNINGS, [
153+ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls
154+ -Wwrite-strings -Wold-style-definition
155+ -Winit-self -Wmissing-include-dirs -Wno-multichar
156+ -Wnested-externs $NO_WARNINGS])
157
158 dnl define correct level for debugging messages
159 AG_GST_SET_LEVEL_DEFAULT($GST_GIT)
160@@ -460,8 +496,10 @@ AC_SUBST(DEPRECATED_CFLAGS)
161 dnl every flag in GST_OPTION_CFLAGS can be overridden at make time
162 GST_OPTION_CFLAGS="\$(WARNING_CFLAGS) \$(ERROR_CFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
163 GST_OPTION_CXXFLAGS="\$(WARNING_CXXFLAGS) \$(ERROR_CXXFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
164+GST_OPTION_OBJCFLAGS="\$(WARNING_OBJCFLAGS) \$(ERROR_OBJCFLAGS) \$(DEBUG_CFLAGS) \$(PROFILE_CFLAGS) \$(GCOV_CFLAGS) \$(OPT_CFLAGS) \$(DEPRECATED_CFLAGS)"
165 AC_SUBST(GST_OPTION_CFLAGS)
166 AC_SUBST(GST_OPTION_CXXFLAGS)
167+AC_SUBST(GST_OPTION_OBJCFLAGS)
168
169 dnl our libraries need to be versioned correctly
170 AC_SUBST(GST_LT_LDFLAGS)
171@@ -474,10 +512,12 @@ AC_SUBST(GST_PLUGINS_GL_CFLAGS)
172
173 dnl FIXME: do we want to rename to GST_ALL_* ?
174 dnl add GST_OPTION_CFLAGS, but overridable
175+GST_OBJCFLAGS="-I\$(top_srcdir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_OBJCFLAGS)"
176 GST_CXXFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_CXXFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
177 GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
178 AC_SUBST(GST_CFLAGS)
179 AC_SUBST(GST_CXXFLAGS)
180+AC_SUBST(GST_OBJCFLAGS)
181
182 dnl add GCOV libs because libtool strips -fprofile-arcs -ftest-coverage
183 GST_LIBS="$GST_LIBS \$(GCOV_LIBS)"
184diff --git a/docs/libs/Makefile.am b/docs/libs/Makefile.am
185index defa340..18016cf 100644
186--- a/docs/libs/Makefile.am
187+++ b/docs/libs/Makefile.am
188@@ -50,7 +50,7 @@ extra_files =
189 # CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
190 # contains GtkObjects/GObjects and you want to document signals and properties.
191 GTKDOC_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
192- -I$(top_srcdir)/gst-libs/gst/gl
193+ -I$(top_srcdir)/gst-libs/gst/gl -I$(top_srcdir) -DHAVE_CONFIG_H -DLINUX
194 GTKDOC_LIBS = \
195 $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_MAJORMINOR@.la \
196 $(GST_BASE_LIBS)
197diff --git a/docs/plugins/inspect/plugin-libvisual-gl.xml b/docs/plugins/inspect/plugin-libvisual-gl.xml
198index da5a3d5..477c811 100644
199--- a/docs/plugins/inspect/plugin-libvisual-gl.xml
200+++ b/docs/plugins/inspect/plugin-libvisual-gl.xml
201@@ -3,10 +3,10 @@
202 <description>libvisual-gl visualization plugins</description>
203 <filename>../../ext/libvisual/.libs/libgstlibvisualgl.so</filename>
204 <basename>libgstlibvisualgl.so</basename>
205- <version>0.10.3</version>
206+ <version>0.10.3.1</version>
207 <license>LGPL</license>
208 <source>gst-plugins-gl</source>
209- <package>GStreamer OpenGL Plug-ins source release</package>
210+ <package>GStreamer OpenGL Plug-ins git</package>
211 <origin>Unknown package origin</origin>
212 <elements>
213 <element>
214diff --git a/docs/plugins/inspect/plugin-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml
215index dbfa9fb..9b7b663 100644
216--- a/docs/plugins/inspect/plugin-opengl.xml
217+++ b/docs/plugins/inspect/plugin-opengl.xml
218@@ -3,10 +3,10 @@
219 <description>OpenGL plugin</description>
220 <filename>../../gst/gl/.libs/libgstopengl.so</filename>
221 <basename>libgstopengl.so</basename>
222- <version>0.10.3</version>
223+ <version>0.10.3.1</version>
224 <license>LGPL</license>
225 <source>gst-plugins-gl</source>
226- <package>GStreamer OpenGL Plug-ins source release</package>
227+ <package>GStreamer OpenGL Plug-ins git</package>
228 <origin>Unknown package origin</origin>
229 <elements>
230 <element>
231diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
232index 2ef7afc..d55a513 100644
233--- a/gst-libs/gst/gl/Makefile.am
234+++ b/gst-libs/gst/gl/Makefile.am
235@@ -4,6 +4,7 @@ lib_LTLIBRARIES = libgstgl-@GST_MAJORMINOR@.la
236 EXTRA_DIST = \
237 gstglwindow_x11.c \
238 gstglwindow_x11ES2.c \
239+ gstglwindow_fbES2.c \
240 gstglwindow_win32.c \
241 gstglwindow_winCE.c \
242 gstglwindow_cocoa.m
243@@ -28,6 +29,13 @@ endif
244 if GL_BACKEND_X11ES2
245 libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglwindow_x11ES2.c
246 endif
247+if GL_BACKEND_FBES2
248+libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglwindow_fbES2.c
249+endif
250+
251+if USE_VIVANTE
252+libgstgl_@GST_MAJORMINOR@_la_SOURCES += gstglvivante.c
253+endif
254
255 libgstgl_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/gl
256 libgstgl_@GST_MAJORMINOR@include_HEADERS = \
257@@ -41,13 +49,19 @@ libgstgl_@GST_MAJORMINOR@include_HEADERS = \
258 gstglshadervariables.h \
259 gstglshader.h
260
261+if USE_VIVANTE
262+libgstgl_@GST_MAJORMINOR@include_HEADERS += gstglvivante.h
263+endif
264+
265 libgstgl_@GST_MAJORMINOR@_la_LIBADD = \
266 $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) -lgstcontroller-$(GST_MAJORMINOR) \
267+ $(GST_FSL_LIBS) \
268 $(GST_BASE_LIBS) $(GST_LIBS) \
269 $(GL_LIBS)
270
271 libgstgl_@GST_MAJORMINOR@_la_CFLAGS = \
272 $(GL_CFLAGS) $(X_CFLAGS) \
273+ $(GST_FSL_CFLAGS) \
274 $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
275 libgstgl_@GST_MAJORMINOR@_la_OBJCFLAGS = \
276 $(GL_CFLAGS) $(X_CFLAGS) \
277diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
278index 64c6c2c..da2e602 100644
279--- a/gst-libs/gst/gl/gstgldisplay.c
280+++ b/gst-libs/gst/gl/gstgldisplay.c
281@@ -28,6 +28,9 @@
282
283 #include <gst/video/gstvideosink.h>
284 #include "gstgldisplay.h"
285+#ifdef GPU_VIVANTE
286+#include "gstglvivante.h"
287+#endif
288
289 #ifndef GLEW_VERSION_MAJOR
290 #define GLEW_VERSION_MAJOR 4
291@@ -468,6 +471,10 @@ gst_gl_display_init (GstGLDisplay * display, GstGLDisplayClass * klass)
292 #endif
293
294 display->error_message = NULL;
295+
296+#ifdef GPU_VIVANTE
297+ display->gpu_priv = gst_gl_vivante_new ();
298+#endif
299 }
300
301 static void
302@@ -539,6 +546,12 @@ gst_gl_display_finalize (GObject * object)
303 g_free (display->error_message);
304 display->error_message = NULL;
305 }
306+#ifdef GPU_VIVANTE
307+ if (display->gpu_priv) {
308+ gst_gl_vivante_delete (display->gpu_priv);
309+ display->gpu_priv = NULL;
310+ }
311+#endif
312 }
313
314
315@@ -1135,6 +1148,17 @@ gst_gl_display_thread_init_upload (GstGLDisplay * display)
316 void
317 gst_gl_display_thread_do_upload (GstGLDisplay * display)
318 {
319+ if (display->gpu_priv &&
320+ display->upload_width == display->upload_data_width &&
321+ display->upload_height == display->upload_data_height) {
322+#ifdef GPU_VIVANTE
323+ if (gst_gl_vivante_tex_upload (display->gpu_priv, display))
324+ return;
325+#endif
326+ }
327+
328+ GST_WARNING ("%s: Fall into non direct uploading", __func__);
329+
330 gst_gl_display_thread_do_upload_fill (display);
331
332 switch (display->upload_video_format) {
333@@ -1950,14 +1974,13 @@ gst_gl_display_on_draw (GstGLDisplay * display)
334
335 glBegin (GL_QUADS);
336 /* gst images are top-down while opengl plane is bottom-up */
337- glTexCoord2i (display->redisplay_texture_width, 0);
338+ glTexCoord2i (1, 0);
339 glVertex2f (1.0f, 1.0f);
340 glTexCoord2i (0, 0);
341 glVertex2f (-1.0f, 1.0f);
342- glTexCoord2i (0, display->redisplay_texture_height);
343+ glTexCoord2i (0, 1);
344 glVertex2f (-1.0f, -1.0f);
345- glTexCoord2i (display->redisplay_texture_width,
346- display->redisplay_texture_height);
347+ glTexCoord2i (1, 1);
348 glVertex2f (1.0f, -1.0f);
349 /*glTexCoord2i (display->redisplay_texture_width, 0);
350 glVertex2i (1, -1);
351@@ -1974,7 +1997,8 @@ gst_gl_display_on_draw (GstGLDisplay * display)
352
353 #else //OPENGL_ES2
354
355- const GLfloat vVertices[] = { 1.0f, 1.0f, 0.0f,
356+ GLfloat left, right, top, bottom;
357+ GLfloat vVertices[] = { 1.0f, 1.0f, 0.0f,
358 1.0f, 0.0f,
359 -1.0f, 1.0f, 0.0f,
360 0.0f, 0.0f,
361@@ -1986,6 +2010,17 @@ gst_gl_display_on_draw (GstGLDisplay * display)
362
363 GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
364
365+#ifdef GPU_VIVANTE
366+ if (display->gpu_priv) {
367+ gst_gl_vivante_get_sampler_rect (display->gpu_priv, &left, &right, &top,
368+ &bottom);
369+ vVertices[3] = vVertices[18] = right;
370+ vVertices[4] = vVertices[9] = bottom;
371+ vVertices[8] = vVertices[13] = left;
372+ vVertices[14] = vVertices[19] = top;
373+ }
374+#endif
375+
376 glClear (GL_COLOR_BUFFER_BIT);
377
378 gst_gl_shader_use (display->redisplay_shader);
379@@ -2067,6 +2102,9 @@ gst_gl_display_glgen_texture (GstGLDisplay * display, GLuint * pTexture,
380 case GST_VIDEO_FORMAT_I420:
381 case GST_VIDEO_FORMAT_YV12:
382 case GST_VIDEO_FORMAT_AYUV:
383+#ifdef GPU_VIVANTE
384+ case GST_VIDEO_FORMAT_NV12:
385+#endif
386 glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0, GL_RGBA8,
387 width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
388 break;
389@@ -2177,11 +2215,11 @@ gst_gl_display_check_framebuffer_status (void)
390 GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS");
391 break;
392
393-#if defined(GL_ARB_framebuffer_object)
394+/*
395 case GL_FRAMEBUFFER_UNDEFINED:
396 GST_ERROR ("GL_FRAMEBUFFER_UNDEFINED");
397 break;
398-#endif
399+*/
400
401 default:
402 GST_ERROR ("General FBO error");
403@@ -2350,8 +2388,13 @@ gst_gl_display_init_upload (GstGLDisplay * display, GstVideoFormat video_format,
404 display->upload_height = gl_height;
405 display->upload_data_width = video_width;
406 display->upload_data_height = video_height;
407- gst_gl_window_send_message (display->gl_window,
408- GST_GL_WINDOW_CB (gst_gl_display_thread_init_upload), display);
409+
410+#ifdef GPU_VIVANTE
411+ if (!gst_gl_vivante_check_format (display->gpu_priv, video_format,
412+ video_width, video_height))
413+#endif
414+ gst_gl_window_send_message (display->gl_window,
415+ GST_GL_WINDOW_CB (gst_gl_display_thread_init_upload), display);
416 isAlive = display->isAlive;
417 gst_gl_display_unlock (display);
418
419@@ -2364,6 +2407,14 @@ gboolean
420 gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture,
421 gint data_width, gint data_height, gpointer data)
422 {
423+ return gst_gl_display_do_upload_with_meta (display, texture, data_width,
424+ data_height, data, NULL);
425+}
426+
427+gboolean
428+gst_gl_display_do_upload_with_meta (GstGLDisplay * display, GLuint texture,
429+ gint data_width, gint data_height, gpointer data, gpointer meta)
430+{
431 gboolean isAlive = TRUE;
432
433 gst_gl_display_lock (display);
434@@ -2373,6 +2424,7 @@ gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture,
435 display->upload_data_width = data_width;
436 display->upload_data_height = data_height;
437 display->upload_data = data;
438+ display->upload_meta = meta;
439 gst_gl_window_send_message (display->gl_window,
440 GST_GL_WINDOW_CB (gst_gl_display_thread_do_upload), display);
441 isAlive = display->isAlive;
442@@ -2975,11 +3027,11 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display)
443
444 #ifdef OPENGL_ES2
445 GLint viewport_dim[4];
446-
447- const GLfloat vVertices[] = { 1.0f, -1.0f, 0.0f,
448+ GLfloat left, right, top, bottom;
449+ GLfloat vVertices[] = { 1.0f, -1.0f, 0.0f,
450 1.0f, 0.0f,
451 -1.0f, -1.0f, 0.0f,
452- 0.0f, .0f,
453+ 0.0f, 0.0f,
454 -1.0f, 1.0f, 0.0f,
455 0.0f, 1.0f,
456 1.0f, 1.0f, 0.0f,
457@@ -2987,6 +3039,18 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display)
458 };
459
460 GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
461+
462+#ifdef GPU_VIVANTE
463+ if (display->gpu_priv) {
464+ gst_gl_vivante_get_sampler_rect (display->gpu_priv, &left, &right, &top,
465+ &bottom);
466+ vVertices[3] = vVertices[18] = right;
467+ vVertices[4] = vVertices[9] = bottom;
468+ vVertices[8] = vVertices[13] = left;
469+ vVertices[14] = vVertices[19] = top;
470+ }
471+#endif
472+
473 #endif
474
475 glBindFramebufferEXT (GL_FRAMEBUFFER_EXT, display->upload_fbo);
476@@ -3260,13 +3324,13 @@ gst_gl_display_thread_do_upload_draw (GstGLDisplay * display)
477
478 #ifndef OPENGL_ES2
479 glBegin (GL_QUADS);
480- glTexCoord2i (display->upload_data_width, 0);
481+ glTexCoord2i (1, 0);
482 glVertex2f (1.0f, -1.0f);
483 glTexCoord2i (0, 0);
484 glVertex2f (-1.0f, -1.0f);
485- glTexCoord2i (0, display->upload_data_height);
486+ glTexCoord2i (0, 1);
487 glVertex2f (-1.0f, 1.0f);
488- glTexCoord2i (display->upload_data_width, display->upload_data_height);
489+ glTexCoord2i (1, 1);
490 glVertex2f (1.0f, 1.0f);
491 glEnd ();
492
493@@ -3554,11 +3618,11 @@ gst_gl_display_thread_do_download_draw_yuv (GstGLDisplay * display)
494 glBegin (GL_QUADS);
495 glTexCoord2i (0, 0);
496 glVertex2f (-1.0f, -1.0f);
497- glTexCoord2i (width, 0);
498+ glTexCoord2i (1, 0);
499 glVertex2f (1.0f, -1.0f);
500- glTexCoord2i (width, height);
501+ glTexCoord2i (1, 1);
502 glVertex2f (1.0f, 1.0f);
503- glTexCoord2i (0, height);
504+ glTexCoord2i (0, 1);
505 glVertex2f (-1.0f, 1.0f);
506 glEnd ();
507
508diff --git a/gst-libs/gst/gl/gstgldisplay.h b/gst-libs/gst/gl/gstgldisplay.h
509index f657e1e..31dfe26 100644
510--- a/gst-libs/gst/gl/gstgldisplay.h
511+++ b/gst-libs/gst/gl/gstgldisplay.h
512@@ -229,6 +229,9 @@ struct _GstGLDisplay
513
514 gchar *error_message;
515
516+ gpointer gpu_priv;
517+ gpointer upload_meta;
518+ gboolean upload_buf_mapped;
519 };
520
521
522@@ -264,6 +267,8 @@ gboolean gst_gl_display_init_upload (GstGLDisplay * display,
523 gint video_width, gint video_height);
524 gboolean gst_gl_display_do_upload (GstGLDisplay * display, GLuint texture,
525 gint data_width, gint data_height, gpointer data);
526+gboolean gst_gl_display_do_upload_with_meta (GstGLDisplay * display, GLuint texture,
527+ gint data_width, gint data_height, gpointer data, gpointer meta);
528 gboolean gst_gl_display_init_download (GstGLDisplay * display,
529 GstVideoFormat video_format, gint width, gint height);
530 gboolean gst_gl_display_do_download (GstGLDisplay * display, GLuint texture,
531diff --git a/gst-libs/gst/gl/gstglshader.h b/gst-libs/gst/gl/gstglshader.h
532index ddeb99c..aec69f1 100644
533--- a/gst-libs/gst/gl/gstglshader.h
534+++ b/gst-libs/gst/gl/gstglshader.h
535@@ -21,6 +21,10 @@
536 #ifndef __GST_GL_SHADER_H__
537 #define __GST_GL_SHADER_H__
538
539+#ifdef HAVE_CONFIG_H
540+#include "config.h"
541+#endif
542+
543 /* OpenGL 2.0 for Embedded Systems */
544 #ifdef OPENGL_ES2
545 #include <GLES2/gl2.h>
546diff --git a/gst-libs/gst/gl/gstglshadervariables.c b/gst-libs/gst/gl/gstglshadervariables.c
547index 69d5b75..be6e58c 100644
548--- a/gst-libs/gst/gl/gstglshadervariables.c
549+++ b/gst-libs/gst/gl/gstglshadervariables.c
550@@ -550,6 +550,7 @@ gst_gl_shadervariable_set (GstGLShader * shader,
551 (float *) ret->value);
552 break;
553
554+#ifndef OPENGL_ES2
555 case _mat2x3:
556 gst_gl_shader_set_uniform_matrix_2x3fv (shader, ret->name, ret->count, 0,
557 (float *) ret->value);
558@@ -569,6 +570,7 @@ gst_gl_shadervariable_set (GstGLShader * shader,
559 gst_gl_shader_set_uniform_matrix_4x2fv (shader, ret->name, ret->count, 0,
560 (float *) ret->value);
561 break;
562+#endif
563
564 case _mat3:
565 case _mat3x3:
566@@ -576,6 +578,7 @@ gst_gl_shadervariable_set (GstGLShader * shader,
567 (float *) ret->value);
568 break;
569
570+#ifndef OPENGL_ES2
571 case _mat3x4:
572 gst_gl_shader_set_uniform_matrix_3x4fv (shader, ret->name, ret->count, 0,
573 (float *) ret->value);
574@@ -585,6 +588,7 @@ gst_gl_shadervariable_set (GstGLShader * shader,
575 gst_gl_shader_set_uniform_matrix_4x3fv (shader, ret->name, ret->count, 0,
576 (float *) ret->value);
577 break;
578+#endif
579
580 case _mat4:
581 case _mat4x4:
582diff --git a/gst-libs/gst/gl/gstglvivante.c b/gst-libs/gst/gl/gstglvivante.c
583new file mode 100644
584index 0000000..2b8c9ae
585--- /dev/null
586+++ b/gst-libs/gst/gl/gstglvivante.c
587@@ -0,0 +1,218 @@
588+/*
589+ * Copyright (c) 2012, Freescale Semiconductor, Inc. All rights reserved.
590+ *
591+ * This library is free software; you can redistribute it and/or
592+ * modify it under the terms of the GNU Lesser General Public
593+ * License as published by the Free Software Foundation; either
594+ * version 2.1 of the License, or (at your option) any later version.
595+ *
596+ * This library is distributed in the hope that it will be useful,
597+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
598+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
599+ * Lesser General Public License for more details.
600+ *
601+ * You should have received a copy of the GNU Lesser General Public
602+ * License along with this library; if not, write to the Free Software
603+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
604+ */
605+
606+#ifdef HAVE_CONFIG_H
607+#include "config.h"
608+#endif
609+
610+#include <string.h>
611+
612+#include "gstglvivante.h"
613+#include <gstbufmeta.h>
614+
615+#define GL_GLEXT_PROTOTYPES
616+#include <GLES2/gl2ext.h>
617+
618+typedef struct
619+{
620+ gfloat sampler_left;
621+ gfloat sampler_right;
622+ gfloat sampler_top;
623+ gfloat sampler_bottom;
624+} GstGLVivante;
625+
626+gpointer
627+gst_gl_vivante_new ()
628+{
629+ GstGLVivante *viv = g_new (GstGLVivante, 1);
630+
631+ viv->sampler_left = 0.0f;
632+ viv->sampler_right = 1.0f;
633+ viv->sampler_top = 1.0f;
634+ viv->sampler_bottom = 0.0f;
635+
636+ return viv;
637+}
638+
639+void
640+gst_gl_vivante_delete (gpointer gpu)
641+{
642+ g_free (gpu);
643+}
644+
645+gboolean
646+gst_gl_vivante_check_format (gpointer gpu, GstVideoFormat format, gint width,
647+ gint height)
648+{
649+ switch (format) {
650+ case GST_VIDEO_FORMAT_YV12:
651+ case GST_VIDEO_FORMAT_NV12:
652+ if ((width & 15) == 0)
653+ return TRUE;
654+ break;
655+ default:
656+ GST_WARNING ("GstVideoFormat %d not supported by vivante", format);
657+ }
658+ GST_WARNING
659+ ("Check format %d, width,height [%d, %d] failed, can't direct render",
660+ format, width, height);
661+ return FALSE;
662+}
663+
664+GLenum
665+gst_gl_vivante_get_gl_format (gpointer gpu, GstVideoFormat format)
666+{
667+ switch (format) {
668+ case GST_VIDEO_FORMAT_YV12:
669+ return GL_VIV_YV12;
670+ case GST_VIDEO_FORMAT_NV12:
671+ return GL_VIV_NV12;
672+ default:
673+ GST_WARNING ("GstVideoFormat %d not supported by vivante", format);
674+ }
675+ return GL_NONE;
676+}
677+
678+static gboolean
679+format_is_yuv (GstVideoFormat format)
680+{
681+ switch (format) {
682+ case GST_VIDEO_FORMAT_YV12:
683+ case GST_VIDEO_FORMAT_NV12:
684+ return TRUE;
685+ default:
686+ return FALSE;
687+ }
688+}
689+
690+static void
691+copy_data_to_gpu (gpointer gpu, GstVideoFormat format, gpointer data,
692+ gpointer planes[], gint width, gint height)
693+{
694+ gint src_height;
695+ gint src_y_size, src_uv_size;
696+ gint dst_y_size, dst_uv_size;
697+
698+ /* width is already 16 aligned */
699+ switch (format) {
700+ case GST_VIDEO_FORMAT_YV12:
701+ src_height = GST_ROUND_UP_2 (height);
702+ src_y_size = width * src_height;
703+ src_uv_size = src_y_size / 4;
704+ dst_y_size = width * height;
705+ dst_uv_size = dst_y_size / 4;
706+ memcpy (planes[0], data, dst_y_size);
707+ memcpy (planes[1], (gchar *) data + src_y_size, dst_uv_size);
708+ memcpy (planes[2], (gchar *) data + src_y_size + src_uv_size,
709+ dst_uv_size);
710+ break;
711+ case GST_VIDEO_FORMAT_NV12:
712+ src_height = GST_ROUND_UP_2 (height);
713+ src_y_size = width * src_height;
714+ dst_y_size = width * height;
715+ dst_uv_size = dst_y_size / 2;
716+ memcpy (planes[0], data, dst_y_size);
717+ memcpy (planes[1], (gchar *) data + src_y_size, dst_uv_size);
718+ break;
719+ default:
720+ return;
721+ }
722+}
723+
724+gboolean
725+gst_gl_vivante_tex_upload (gpointer gpu, GstGLDisplay * display)
726+{
727+ GstVideoFormat format = display->upload_video_format;
728+ gint width = display->upload_data_width;
729+ gint height = display->upload_data_height;
730+ gpointer data = display->upload_data;
731+ GstBufferMeta *meta = GST_BUFFER_META (display->upload_meta);
732+ gpointer planes[3];
733+ GLuint physical = meta ? (GLuint) (meta->physical_data) : ~0U;
734+
735+ GST_INFO ("gst_gl_vivante_tex_upload physical address 0x%x, data %p, tex %d",
736+ physical, data, display->upload_outtex);
737+
738+ if (!gst_gl_vivante_check_format (gpu, format, width, height))
739+ return FALSE;
740+
741+ glBindTexture (GL_TEXTURE_2D, display->upload_outtex);
742+
743+ if (((guint) data & 0x3F) != 0) { /* not aligned, need additional copy */
744+ if (!format_is_yuv (format)) { /* rgb is left to default handler */
745+ GST_WARNING ("Format %d unaligned data is not supported for"
746+ " direct rendering", format);
747+ return FALSE;
748+ }
749+
750+ GST_WARNING ("Data not aligned, need additional copy");
751+
752+ glTexDirectVIV (GL_TEXTURE_2D, width, height,
753+ gst_gl_vivante_get_gl_format (gpu, format), (GLvoid **) & planes);
754+ if (glGetError () != GL_NO_ERROR)
755+ return FALSE;
756+
757+ copy_data_to_gpu (gpu, format, data, planes, width, height);
758+ } else {
759+ glTexDirectVIVMap (GL_TEXTURE_2D, width, height,
760+ gst_gl_vivante_get_gl_format (gpu, format), &data, &physical);
761+ if (glGetError () != GL_NO_ERROR)
762+ return FALSE;
763+ display->upload_buf_mapped = TRUE;
764+ }
765+
766+ glTexDirectInvalidateVIV (GL_TEXTURE_2D);
767+
768+ return TRUE;
769+}
770+
771+void
772+gst_gl_vivante_set_caps (gpointer gpu, GstCaps * caps)
773+{
774+ GstVideoFormat format;
775+ gint width;
776+ gint height;
777+ GstStructure *s;
778+ gint left = 0, right = 0, top = 0, bottom = 0;
779+ GstGLVivante *viv = (GstGLVivante *) gpu;
780+
781+ s = gst_caps_get_structure (caps, 0);
782+ gst_structure_get_int (s, "crop-left", &left);
783+ gst_structure_get_int (s, "crop-top", &top);
784+ gst_structure_get_int (s, "crop-right", &right);
785+ gst_structure_get_int (s, "crop-bottom", &bottom);
786+
787+ gst_video_format_parse_caps (caps, &format, &width, &height);
788+
789+ viv->sampler_left = ((gfloat) left) / width;
790+ viv->sampler_right = ((gfloat) (width - right)) / width;
791+ viv->sampler_top = ((gfloat) (height - bottom)) / height;
792+ viv->sampler_bottom = ((gfloat) top) / height;
793+}
794+
795+void
796+gst_gl_vivante_get_sampler_rect (gpointer gpu, gfloat * left, gfloat * right,
797+ gfloat * top, gfloat * bottom)
798+{
799+ GstGLVivante *viv = (GstGLVivante *) gpu;
800+
801+ *left = viv->sampler_left;
802+ *right = viv->sampler_right;
803+ *top = viv->sampler_top;
804+ *bottom = viv->sampler_bottom;
805+}
806diff --git a/gst-libs/gst/gl/gstglvivante.h b/gst-libs/gst/gl/gstglvivante.h
807new file mode 100644
808index 0000000..f763f80
809--- /dev/null
810+++ b/gst-libs/gst/gl/gstglvivante.h
811@@ -0,0 +1,41 @@
812+/*
813+ * Copyright (c) 2012, Freescale Semiconductor, Inc. All rights reserved.
814+ *
815+ * This library is free software; you can redistribute it and/or
816+ * modify it under the terms of the GNU Library General Public
817+ * License as published by the Free Software Foundation; either
818+ * version 2 of the License, or (at your option) any later version.
819+ *
820+ * This library is distributed in the hope that it will be useful,
821+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
822+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
823+ * Library General Public License for more details.
824+ *
825+ * You should have received a copy of the GNU Library General Public
826+ * License along with this library; if not, write to the
827+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
828+ * Boston, MA 02111-1307, USA.
829+ */
830+
831+#ifndef __GST_GL_VIVANTE_H__
832+#define __GST_GL_VIVANTE_H__
833+
834+#include "gstgldisplay.h"
835+#include <GLES2/gl2.h>
836+
837+G_BEGIN_DECLS
838+
839+gpointer gst_gl_vivante_new();
840+void gst_gl_vivante_delete(gpointer gpu);
841+
842+gboolean gst_gl_vivante_check_format(gpointer gpu, GstVideoFormat format, gint width, gint height);
843+GLenum gst_gl_vivante_get_gl_format(gpointer gpu, GstVideoFormat format);
844+
845+gboolean gst_gl_vivante_tex_upload (gpointer gpu, GstGLDisplay * display);
846+void gst_gl_vivante_set_caps (gpointer gpu, GstCaps * caps);
847+
848+void gst_gl_vivante_get_sampler_rect (gpointer gpu, gfloat *left, gfloat *right, gfloat *top, gfloat *bottom);
849+
850+G_END_DECLS
851+
852+#endif /* __GST_GL_VIVANTE_H__ */
853diff --git a/gst-libs/gst/gl/gstglwindow.h b/gst-libs/gst/gl/gstglwindow.h
854index 499d47a..c3cafb2 100644
855--- a/gst-libs/gst/gl/gstglwindow.h
856+++ b/gst-libs/gst/gl/gstglwindow.h
857@@ -21,6 +21,10 @@
858 #ifndef __GST_GL_WINDOW_H__
859 #define __GST_GL_WINDOW_H__
860
861+#ifdef HAVE_CONFIG_H
862+#include "config.h"
863+#endif
864+
865 /* OpenGL 2.0 for Embedded Systems */
866 #ifdef OPENGL_ES2
867 #undef UNICODE
868diff --git a/gst-libs/gst/gl/gstglwindow_fbES2.c b/gst-libs/gst/gl/gstglwindow_fbES2.c
869new file mode 100644
870index 0000000..57c02e1
871--- /dev/null
872+++ b/gst-libs/gst/gl/gstglwindow_fbES2.c
873@@ -0,0 +1,709 @@
874+/*
875+ * GStreamer
876+ * Copyright (C) 2008 Julien Isorce <julien.isorce@gmail.com>
877+ *
878+ * This library is free software; you can redistribute it and/or
879+ * modify it under the terms of the GNU Library General Public
880+ * License as published by the Free Software Foundation; either
881+ * version 2 of the License, or (at your option) any later version.
882+ *
883+ * This library is distributed in the hope that it will be useful,
884+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
885+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
886+ * Library General Public License for more details.
887+ *
888+ * You should have received a copy of the GNU Library General Public
889+ * License along with this library; if not, write to the
890+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
891+ * Boston, MA 02111-1307, USA.
892+ */
893+
894+#ifdef HAVE_CONFIG_H
895+#include "config.h"
896+#endif
897+
898+#include "gstglwindow.h"
899+#include "EGL/eglvivante.h"
900+
901+#include <locale.h>
902+#include <stdio.h>
903+#include <stdlib.h>
904+
905+#define GST_GL_WINDOW_GET_PRIVATE(o) \
906+ (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_GL_TYPE_WINDOW, GstGLWindowPrivate))
907+
908+/* A gl window is created and deleted in a thread dedicated to opengl calls
909+ The name contains "window" because an opengl context is used in cooperation
910+ with a window */
911+
912+const gchar *EGLErrorString ();
913+
914+enum
915+{
916+ ARG_0,
917+ ARG_DISPLAY
918+};
919+
920+enum GstGLFbEventType
921+{
922+ FB_EVENT_DRAW,
923+ FB_EVENT_CALLBACK,
924+ FB_EVENT_QUIT,
925+};
926+
927+typedef struct _GstGLFbEvent
928+{
929+ enum GstGLFbEventType type;
930+ GstGLWindowCB callback;
931+ gpointer data;
932+} GstGLFbEvent;
933+
934+struct _GstGLWindowPrivate
935+{
936+ /* X is not thread safe */
937+ GMutex *lock;
938+ GCond *cond_send_message;
939+ GCond *cond_queue_message;
940+ gboolean running;
941+ gboolean allow_extra_expose_events;
942+
943+ /* fb queue */
944+ GList *queue;
945+
946+ /* X context */
947+ gchar *display_name;
948+ gint device_width;
949+ gint device_height;
950+
951+ EGLNativeWindowType internal_win_id;
952+ EGLNativeDisplayType device;
953+
954+ /* EGL */
955+ EGLContext gl_context;
956+ EGLDisplay gl_display;
957+ EGLSurface gl_surface;
958+
959+ /* frozen callbacks */
960+ GstGLWindowCB draw_cb;
961+ gpointer draw_data;
962+ GstGLWindowCB2 resize_cb;
963+ gpointer resize_data;
964+ GstGLWindowCB close_cb;
965+ gpointer close_data;
966+};
967+
968+G_DEFINE_TYPE (GstGLWindow, gst_gl_window, G_TYPE_OBJECT);
969+
970+#undef G_LOG_DOMAIN
971+#define G_LOG_DOMAIN "GstGLWindow"
972+
973+gboolean _gst_gl_window_debug = FALSE;
974+
975+void
976+gst_gl_window_init_platform ()
977+{
978+}
979+
980+static void
981+free_event (gpointer event, gpointer data)
982+{
983+ g_slice_free (GstGLFbEvent, event);
984+}
985+
986+/* Must be called in the gl thread */
987+static void
988+gst_gl_window_finalize (GObject * object)
989+{
990+ GstGLWindow *window = GST_GL_WINDOW (object);
991+ GstGLWindowPrivate *priv = window->priv;
992+ gboolean ret = TRUE;
993+
994+ g_mutex_lock (priv->lock);
995+
996+ g_debug ("about to finalize gl window\n");
997+
998+ if (priv->gl_context) {
999+ ret =
1000+ eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
1001+ EGL_NO_CONTEXT);
1002+ if (!ret)
1003+ g_debug ("failed to release opengl context\n");
1004+
1005+ eglDestroyContext (priv->gl_display, priv->gl_context);
1006+ }
1007+
1008+ if (priv->gl_display)
1009+ eglTerminate (priv->gl_display);
1010+
1011+ if (priv->device)
1012+ fbDestroyDisplay (priv->device);
1013+
1014+ g_list_foreach (priv->queue, free_event, NULL);
1015+ g_list_free (priv->queue);
1016+ priv->queue = NULL;
1017+
1018+ if (priv->cond_send_message) {
1019+ g_cond_free (priv->cond_send_message);
1020+ priv->cond_send_message = NULL;
1021+ }
1022+
1023+ if (priv->cond_queue_message) {
1024+ g_cond_free (priv->cond_queue_message);
1025+ priv->cond_queue_message = NULL;
1026+ }
1027+
1028+ g_mutex_unlock (priv->lock);
1029+
1030+ if (priv->lock) {
1031+ g_mutex_free (priv->lock);
1032+ priv->lock = NULL;
1033+ }
1034+
1035+ G_OBJECT_CLASS (gst_gl_window_parent_class)->finalize (object);
1036+}
1037+
1038+static void
1039+gst_gl_window_set_property (GObject * object, guint prop_id,
1040+ const GValue * value, GParamSpec * pspec)
1041+{
1042+ GstGLWindow *window;
1043+ GstGLWindowPrivate *priv;
1044+
1045+ g_return_if_fail (GST_GL_IS_WINDOW (object));
1046+
1047+ window = GST_GL_WINDOW (object);
1048+
1049+ priv = window->priv;
1050+
1051+ switch (prop_id) {
1052+ case ARG_DISPLAY:
1053+ priv->display_name = g_strdup (g_value_get_string (value));
1054+ break;
1055+ default:
1056+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1057+ break;
1058+ }
1059+}
1060+
1061+static void
1062+gst_gl_window_get_property (GObject * object, guint prop_id,
1063+ GValue * value, GParamSpec * pspec)
1064+{
1065+ GstGLWindow *window;
1066+ GstGLWindowPrivate *priv;
1067+
1068+ g_return_if_fail (GST_GL_IS_WINDOW (object));
1069+
1070+ window = GST_GL_WINDOW (object);
1071+
1072+ priv = window->priv;
1073+
1074+ switch (prop_id) {
1075+ case ARG_DISPLAY:
1076+ g_value_set_string (value, priv->display_name);
1077+ break;
1078+ default:
1079+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1080+ break;
1081+ }
1082+}
1083+
1084+static void
1085+gst_gl_window_log_handler (const gchar * domain, GLogLevelFlags flags,
1086+ const gchar * message, gpointer user_data)
1087+{
1088+ if (_gst_gl_window_debug) {
1089+ g_log_default_handler (domain, flags, message, user_data);
1090+ }
1091+}
1092+
1093+static void
1094+gst_gl_window_class_init (GstGLWindowClass * klass)
1095+{
1096+ GObjectClass *obj_class = G_OBJECT_CLASS (klass);
1097+
1098+ g_type_class_add_private (klass, sizeof (GstGLWindowPrivate));
1099+
1100+ obj_class->finalize = gst_gl_window_finalize;
1101+ obj_class->set_property = gst_gl_window_set_property;
1102+ obj_class->get_property = gst_gl_window_get_property;
1103+
1104+ g_object_class_install_property (obj_class, ARG_DISPLAY,
1105+ g_param_spec_string ("display", "Display", "X Display name", NULL,
1106+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
1107+}
1108+
1109+static void
1110+gst_gl_window_init (GstGLWindow * window)
1111+{
1112+ GstGLWindowPrivate *priv = NULL;
1113+ window->priv = GST_GL_WINDOW_GET_PRIVATE (window);
1114+ priv = window->priv;
1115+
1116+ if (g_getenv ("GST_GL_WINDOW_DEBUG") != NULL)
1117+ _gst_gl_window_debug = TRUE;
1118+
1119+ g_log_set_handler ("GstGLWindow", G_LOG_LEVEL_DEBUG,
1120+ gst_gl_window_log_handler, NULL);
1121+
1122+ priv->lock = NULL;
1123+ priv->cond_send_message = NULL;
1124+ priv->running = FALSE;
1125+ priv->allow_extra_expose_events = FALSE;
1126+
1127+ priv->queue = NULL;
1128+
1129+ /* X context */
1130+ priv->display_name = NULL;
1131+ priv->device_width = 0;
1132+ priv->device_height = 0;
1133+
1134+ /* EGL */
1135+ priv->gl_context = EGL_NO_CONTEXT;
1136+ priv->gl_display = 0;
1137+ priv->gl_surface = EGL_NO_SURFACE;
1138+
1139+ /* frozen callbacks */
1140+ priv->draw_cb = NULL;
1141+ priv->draw_data = NULL;
1142+ priv->resize_cb = NULL;
1143+ priv->resize_data = NULL;
1144+ priv->close_cb = NULL;
1145+ priv->close_data = NULL;
1146+}
1147+
1148+/* Must be called in the gl thread */
1149+GstGLWindow *
1150+gst_gl_window_new (gulong external_gl_context)
1151+{
1152+ GstGLWindow *window = g_object_new (GST_GL_TYPE_WINDOW, NULL);
1153+ GstGLWindowPrivate *priv = window->priv;
1154+
1155+ EGLint config_attrib[] = {
1156+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
1157+ EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
1158+ EGL_DEPTH_SIZE, 16,
1159+ EGL_NONE
1160+ };
1161+
1162+ EGLint context_attrib[] = {
1163+ EGL_CONTEXT_CLIENT_VERSION, 2,
1164+ EGL_NONE
1165+ };
1166+
1167+ EGLint majorVersion;
1168+ EGLint minorVersion;
1169+ EGLint numConfigs;
1170+ EGLConfig config;
1171+
1172+ int index = 0;
1173+
1174+ setlocale (LC_NUMERIC, "C");
1175+
1176+ priv->lock = g_mutex_new ();
1177+ priv->cond_send_message = g_cond_new ();
1178+ priv->cond_queue_message = g_cond_new ();
1179+ priv->running = TRUE;
1180+ priv->allow_extra_expose_events = TRUE;
1181+
1182+ g_mutex_lock (priv->lock);
1183+
1184+ if (priv->display_name)
1185+ index = strtol (priv->display_name, NULL, 0);
1186+
1187+ priv->device = fbGetDisplayByIndex (index);
1188+
1189+ if (!priv->device) {
1190+ g_debug ("failed to get fb display by index %d\n", index);
1191+ goto failure;
1192+ }
1193+
1194+ priv->internal_win_id = fbCreateWindow (priv->device, -1, -1, 0, 0);
1195+
1196+ fbGetDisplayGeometry (priv->device, &priv->device_width,
1197+ &priv->device_height);
1198+
1199+ priv->gl_display = eglGetDisplay (priv->device);
1200+
1201+ if (eglInitialize (priv->gl_display, &majorVersion, &minorVersion))
1202+ g_debug ("egl initialized: %d.%d\n", majorVersion, minorVersion);
1203+ else {
1204+ g_debug ("failed to initialize egl %ld, %s\n", (gulong) priv->gl_display,
1205+ EGLErrorString ());
1206+ goto failure;
1207+ }
1208+
1209+ if (eglChooseConfig (priv->gl_display, config_attrib, &config, 1,
1210+ &numConfigs))
1211+ g_debug ("config set: %ld, %ld\n", (gulong) config, (gulong) numConfigs);
1212+ else {
1213+ g_debug ("failed to set config %ld, %s\n", (gulong) priv->gl_display,
1214+ EGLErrorString ());
1215+ goto failure;
1216+ }
1217+
1218+ priv->gl_surface =
1219+ eglCreateWindowSurface (priv->gl_display, config, priv->internal_win_id,
1220+ NULL);
1221+ if (priv->gl_surface != EGL_NO_SURFACE)
1222+ g_debug ("surface created: %ld\n", (gulong) priv->gl_surface);
1223+ else {
1224+ g_debug ("failed to create surface %ld, %ld, %ld, %s\n",
1225+ (gulong) priv->gl_display, (gulong) priv->gl_surface,
1226+ (gulong) priv->gl_display, EGLErrorString ());
1227+ goto failure;
1228+ }
1229+
1230+ g_debug ("about to create gl context\n");
1231+
1232+ priv->gl_context =
1233+ eglCreateContext (priv->gl_display, config,
1234+ (EGLContext) (guint) external_gl_context, context_attrib);
1235+
1236+ if (priv->gl_context != EGL_NO_CONTEXT)
1237+ g_debug ("gl context created: %ld\n", (gulong) priv->gl_context);
1238+ else {
1239+ g_debug ("failed to create glcontext %ld, %ld, %s\n",
1240+ (gulong) priv->gl_context, (gulong) priv->gl_display,
1241+ EGLErrorString ());
1242+ goto failure;
1243+ }
1244+
1245+ if (!eglMakeCurrent (priv->gl_display, priv->gl_surface, priv->gl_surface,
1246+ priv->gl_context)) {
1247+ g_debug ("failed to make opengl context current %ld, %s\n",
1248+ (gulong) priv->gl_display, EGLErrorString ());
1249+ goto failure;
1250+ }
1251+
1252+ g_mutex_unlock (priv->lock);
1253+ printf ("device WxH:%dx%d\n", priv->device_width, priv->device_height);
1254+ return window;
1255+
1256+failure:
1257+ g_mutex_unlock (priv->lock);
1258+ g_object_unref (G_OBJECT (window));
1259+ return NULL;
1260+}
1261+
1262+GQuark
1263+gst_gl_window_error_quark (void)
1264+{
1265+ return g_quark_from_static_string ("gst-gl-window-error");
1266+}
1267+
1268+gulong
1269+gst_gl_window_get_internal_gl_context (GstGLWindow * window)
1270+{
1271+ GstGLWindowPrivate *priv = window->priv;
1272+ return (gulong) priv->gl_context;
1273+}
1274+
1275+void
1276+callback_activate_gl_context (GstGLWindowPrivate * priv)
1277+{
1278+ if (!eglMakeCurrent (priv->gl_display, priv->gl_surface, priv->gl_surface,
1279+ priv->gl_context))
1280+ g_debug ("failed to activate opengl context %lud\n",
1281+ (gulong) priv->gl_context);
1282+}
1283+
1284+void
1285+callback_inactivate_gl_context (GstGLWindowPrivate * priv)
1286+{
1287+ if (!eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE,
1288+ EGL_NO_CONTEXT))
1289+ g_debug ("failed to inactivate opengl context %lud\n",
1290+ (gulong) priv->gl_context);
1291+}
1292+
1293+void
1294+gst_gl_window_activate_gl_context (GstGLWindow * window, gboolean activate)
1295+{
1296+ GstGLWindowPrivate *priv = window->priv;
1297+ if (activate)
1298+ gst_gl_window_send_message (window,
1299+ GST_GL_WINDOW_CB (callback_activate_gl_context), priv);
1300+ else
1301+ gst_gl_window_send_message (window,
1302+ GST_GL_WINDOW_CB (callback_inactivate_gl_context), priv);
1303+}
1304+
1305+/* Not called by the gl thread */
1306+void
1307+gst_gl_window_set_external_window_id (GstGLWindow * window, gulong id)
1308+{
1309+}
1310+
1311+void
1312+gst_gl_window_set_draw_callback (GstGLWindow * window, GstGLWindowCB callback,
1313+ gpointer data)
1314+{
1315+ GstGLWindowPrivate *priv = window->priv;
1316+
1317+ g_mutex_lock (priv->lock);
1318+
1319+ priv->draw_cb = callback;
1320+ priv->draw_data = data;
1321+
1322+ g_mutex_unlock (priv->lock);
1323+}
1324+
1325+void
1326+gst_gl_window_set_resize_callback (GstGLWindow * window,
1327+ GstGLWindowCB2 callback, gpointer data)
1328+{
1329+ GstGLWindowPrivate *priv = window->priv;
1330+
1331+ g_mutex_lock (priv->lock);
1332+
1333+ priv->resize_cb = callback;
1334+ priv->resize_data = data;
1335+
1336+ g_mutex_unlock (priv->lock);
1337+}
1338+
1339+void
1340+gst_gl_window_set_close_callback (GstGLWindow * window, GstGLWindowCB callback,
1341+ gpointer data)
1342+{
1343+ GstGLWindowPrivate *priv = window->priv;
1344+
1345+ g_mutex_lock (priv->lock);
1346+
1347+ priv->close_cb = callback;
1348+ priv->close_data = data;
1349+
1350+ g_mutex_unlock (priv->lock);
1351+}
1352+
1353+/* Called in the gl thread */
1354+void
1355+gst_gl_window_draw_unlocked (GstGLWindow * window, gint width, gint height)
1356+{
1357+ GstGLWindowPrivate *priv = window->priv;
1358+
1359+ if (priv->running && priv->allow_extra_expose_events) {
1360+ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent);
1361+ event->type = FB_EVENT_DRAW;
1362+ priv->queue = g_list_append (priv->queue, event);
1363+ g_cond_signal (priv->cond_queue_message);
1364+ /* block until opengl calls have been executed in the gl thread */
1365+ g_cond_wait (priv->cond_send_message, priv->lock);
1366+ }
1367+}
1368+
1369+/* Not called by the gl thread */
1370+void
1371+gst_gl_window_draw (GstGLWindow * window, gint width, gint height)
1372+{
1373+ if (window) {
1374+ GstGLWindowPrivate *priv = window->priv;
1375+
1376+ g_mutex_lock (priv->lock);
1377+
1378+ if (priv->running) {
1379+ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent);
1380+ event->type = FB_EVENT_DRAW;
1381+ priv->queue = g_list_append (priv->queue, event);
1382+ g_cond_signal (priv->cond_queue_message);
1383+ /* block until opengl calls have been executed in the gl thread */
1384+ g_cond_wait (priv->cond_send_message, priv->lock);
1385+ }
1386+
1387+ g_mutex_unlock (priv->lock);
1388+ }
1389+}
1390+
1391+static void
1392+gst_gl_fb_queue_flush (GList * queue, GCond * cond)
1393+{
1394+ GstGLFbEvent *event;
1395+ GList *first;
1396+
1397+ while ((first = g_list_first (queue))) {
1398+ event = first->data;
1399+ queue = g_list_delete_link (queue, first);
1400+
1401+ if (event->type == FB_EVENT_CALLBACK) {
1402+ g_debug ("execute last pending custom x events\n");
1403+
1404+ if (!event->callback || !event->data)
1405+ g_debug ("custom cb not initialized\n");
1406+
1407+ event->callback (event->data);
1408+
1409+ g_cond_signal (cond);
1410+ }
1411+
1412+ g_slice_free (GstGLFbEvent, event);
1413+ }
1414+}
1415+
1416+/* Called in the gl thread */
1417+void
1418+gst_gl_window_run_loop (GstGLWindow * window)
1419+{
1420+ GstGLWindowPrivate *priv = window->priv;
1421+ GstGLFbEvent *event;
1422+ GList *first;
1423+
1424+ g_debug ("begin loop\n");
1425+
1426+ g_mutex_lock (priv->lock);
1427+
1428+ while (priv->running) {
1429+
1430+ if (!priv->queue)
1431+ g_cond_wait (priv->cond_queue_message, priv->lock);
1432+
1433+ first = g_list_first (priv->queue);
1434+ event = first->data;
1435+ priv->queue = g_list_delete_link (priv->queue, first);
1436+
1437+ // use in generic/cube and other related uses
1438+ priv->allow_extra_expose_events = g_list_length (priv->queue) <= 2;
1439+
1440+ switch (event->type) {
1441+ case FB_EVENT_CALLBACK:
1442+ {
1443+ if (priv->running) {
1444+ if (!event->callback || !event->data)
1445+ g_debug ("custom cb not initialized\n");
1446+ event->callback (event->data);
1447+ g_cond_signal (priv->cond_send_message);
1448+ }
1449+ break;
1450+ }
1451+
1452+ case FB_EVENT_QUIT:
1453+ {
1454+ g_debug ("Quit loop message %lud\n", (gulong) priv->internal_win_id);
1455+
1456+ /* exit loop */
1457+ priv->running = FALSE;
1458+
1459+ /* make sure last pendings send message calls are executed */
1460+ gst_gl_fb_queue_flush (priv->queue, priv->cond_send_message);
1461+ priv->queue = NULL;
1462+
1463+ /* Finally we can destroy opengl ressources (texture/shaders/fbo) */
1464+ if (!event->callback || !event->data)
1465+ g_debug ("destroy cb not correclty set\n");
1466+
1467+ event->callback (event->data);
1468+ g_cond_signal (priv->cond_send_message);
1469+ break;
1470+ }
1471+
1472+ case FB_EVENT_DRAW:
1473+ if (priv->draw_cb) {
1474+ priv->draw_cb (priv->draw_data);
1475+ glFlush ();
1476+ eglSwapBuffers (priv->gl_display, priv->gl_surface);
1477+ g_cond_signal (priv->cond_send_message);
1478+ }
1479+ break;
1480+
1481+ default:
1482+ g_debug ("unknown GstGLFbEvent type: %ud\n", event->type);
1483+ break;
1484+ } // switch
1485+
1486+ g_slice_free (GstGLFbEvent, event);
1487+
1488+ } // while running
1489+
1490+ g_mutex_unlock (priv->lock);
1491+
1492+ g_debug ("end loop\n");
1493+}
1494+
1495+/* Not called by the gl thread */
1496+void
1497+gst_gl_window_quit_loop (GstGLWindow * window, GstGLWindowCB callback,
1498+ gpointer data)
1499+{
1500+ if (window) {
1501+ GstGLWindowPrivate *priv = window->priv;
1502+
1503+ g_mutex_lock (priv->lock);
1504+
1505+ if (priv->running) {
1506+ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent);
1507+ event->type = FB_EVENT_QUIT;
1508+ event->callback = callback;
1509+ event->data = data;
1510+ priv->queue = g_list_append (priv->queue, event);
1511+
1512+ g_cond_signal (priv->cond_queue_message);
1513+ g_cond_wait (priv->cond_send_message, priv->lock);
1514+ }
1515+
1516+ g_mutex_unlock (priv->lock);
1517+ }
1518+}
1519+
1520+/* Not called by the gl thread */
1521+void
1522+gst_gl_window_send_message (GstGLWindow * window, GstGLWindowCB callback,
1523+ gpointer data)
1524+{
1525+ if (window) {
1526+ GstGLWindowPrivate *priv = window->priv;
1527+
1528+ g_mutex_lock (priv->lock);
1529+
1530+ if (priv->running) {
1531+ GstGLFbEvent *event = g_slice_new0 (GstGLFbEvent);
1532+ event->type = FB_EVENT_CALLBACK;
1533+ event->callback = callback;
1534+ event->data = data;
1535+ priv->queue = g_list_append (priv->queue, event);
1536+ g_cond_signal (priv->cond_queue_message);
1537+
1538+ /* block until opengl calls have been executed in the gl thread */
1539+ g_cond_wait (priv->cond_send_message, priv->lock);
1540+ }
1541+
1542+ g_mutex_unlock (priv->lock);
1543+ }
1544+}
1545+
1546+const gchar *
1547+EGLErrorString ()
1548+{
1549+ EGLint nErr = eglGetError ();
1550+ switch (nErr) {
1551+ case EGL_SUCCESS:
1552+ return "EGL_SUCCESS";
1553+ case EGL_BAD_DISPLAY:
1554+ return "EGL_BAD_DISPLAY";
1555+ case EGL_NOT_INITIALIZED:
1556+ return "EGL_NOT_INITIALIZED";
1557+ case EGL_BAD_ACCESS:
1558+ return "EGL_BAD_ACCESS";
1559+ case EGL_BAD_ALLOC:
1560+ return "EGL_BAD_ALLOC";
1561+ case EGL_BAD_ATTRIBUTE:
1562+ return "EGL_BAD_ATTRIBUTE";
1563+ case EGL_BAD_CONFIG:
1564+ return "EGL_BAD_CONFIG";
1565+ case EGL_BAD_CONTEXT:
1566+ return "EGL_BAD_CONTEXT";
1567+ case EGL_BAD_CURRENT_SURFACE:
1568+ return "EGL_BAD_CURRENT_SURFACE";
1569+ case EGL_BAD_MATCH:
1570+ return "EGL_BAD_MATCH";
1571+ case EGL_BAD_NATIVE_PIXMAP:
1572+ return "EGL_BAD_NATIVE_PIXMAP";
1573+ case EGL_BAD_NATIVE_WINDOW:
1574+ return "EGL_BAD_NATIVE_WINDOW";
1575+ case EGL_BAD_PARAMETER:
1576+ return "EGL_BAD_PARAMETER";
1577+ case EGL_BAD_SURFACE:
1578+ return "EGL_BAD_SURFACE";
1579+ default:
1580+ return "unknown";
1581+ }
1582+}
1583diff --git a/gst-libs/gst/gl/gstglwindow_x11ES2.c b/gst-libs/gst/gl/gstglwindow_x11ES2.c
1584index 260fd2e..65afb50 100644
1585--- a/gst-libs/gst/gl/gstglwindow_x11ES2.c
1586+++ b/gst-libs/gst/gl/gstglwindow_x11ES2.c
1587@@ -116,16 +116,16 @@ gst_gl_window_finalize (GObject * object)
1588
1589 if (priv->gl_context) {
1590 ret =
1591- eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE,
1592+ eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
1593 EGL_NO_CONTEXT);
1594 if (!ret)
1595 g_debug ("failed to release opengl context\n");
1596
1597- eglDestroyContext (priv->device, priv->gl_context);
1598+ eglDestroyContext (priv->gl_display, priv->gl_context);
1599 }
1600
1601- if (priv->device)
1602- eglTerminate (priv->device);
1603+ if (priv->gl_display)
1604+ eglTerminate (priv->gl_display);
1605
1606 XFree (priv->visual_info);
1607
1608@@ -510,7 +510,7 @@ callback_activate_gl_context (GstGLWindowPrivate * priv)
1609 void
1610 callback_inactivate_gl_context (GstGLWindowPrivate * priv)
1611 {
1612- if (!eglMakeCurrent (priv->device, EGL_NO_SURFACE, EGL_NO_SURFACE,
1613+ if (!eglMakeCurrent (priv->gl_display, EGL_NO_SURFACE, EGL_NO_SURFACE,
1614 EGL_NO_CONTEXT))
1615 g_debug ("failed to inactivate opengl context %lud\n",
1616 (gulong) priv->gl_context);
1617@@ -622,7 +622,7 @@ gst_gl_window_draw_unlocked (GstGLWindow * window, gint width, gint height)
1618
1619 XSendEvent (priv->device, priv->internal_win_id, FALSE, ExposureMask,
1620 &event);
1621- XSync (priv->disp_send, FALSE);
1622+ XSync (priv->device, FALSE);
1623 }
1624 }
1625
1626diff --git a/gst/gl/gstglbumper.c b/gst/gl/gstglbumper.c
1627index 12efe7d..2daec5b 100644
1628--- a/gst/gl/gstglbumper.c
1629+++ b/gst/gl/gstglbumper.c
1630@@ -157,7 +157,6 @@ gst_gl_bumper_init_resources (GstGLFilter * filter)
1631
1632 png_structp png_ptr;
1633 png_infop info_ptr;
1634- guint sig_read = 0;
1635 png_uint_32 width = 0;
1636 png_uint_32 height = 0;
1637 gint bit_depth = 0;
1638@@ -209,7 +208,7 @@ gst_gl_bumper_init_resources (GstGLFilter * filter)
1639
1640 png_init_io (png_ptr, fp);
1641
1642- png_set_sig_bytes (png_ptr, sig_read);
1643+ png_set_sig_bytes (png_ptr, sizeof (magic));
1644
1645 png_read_info (png_ptr, info_ptr);
1646
1647diff --git a/gst/gl/gstglimagesink.c b/gst/gl/gstglimagesink.c
1648index d57f5b5..369d7f1 100644
1649--- a/gst/gl/gstglimagesink.c
1650+++ b/gst/gl/gstglimagesink.c
1651@@ -1,6 +1,6 @@
1652 /*
1653- * GStreamer
1654- * Copyright (C) 2003 Julien Moutte <julien@moutte.net>
1655+ * GStreamerfor
1656+ * Copyright (C) 2003 Julien Moutte <julien@moutte.net>for
1657 * Copyright (C) 2005,2006,2007 David A. Schleef <ds@schleef.org>
1658 * Copyright (C) 2008 Julien Isorce <julien.isorce@gmail.com>
1659 *
1660@@ -86,6 +86,9 @@
1661 #include <gst/interfaces/xoverlay.h>
1662
1663 #include "gstglimagesink.h"
1664+#ifdef GPU_VIVANTE
1665+#include "gstglvivante.h"
1666+#endif
1667
1668 GST_DEBUG_CATEGORY (gst_debug_glimage_sink);
1669 #define GST_CAT_DEFAULT gst_debug_glimage_sink
1670@@ -137,11 +140,13 @@ static GstStaticPadTemplate gst_glimage_sink_template =
1671 GST_PAD_SINK,
1672 GST_PAD_ALWAYS,
1673 GST_STATIC_CAPS (GST_GL_VIDEO_CAPS ";"
1674- GST_VIDEO_CAPS_RGB ";"
1675- GST_VIDEO_CAPS_RGBx ";"
1676- GST_VIDEO_CAPS_RGBA ";"
1677- GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }"))
1678- );
1679+ GST_VIDEO_CAPS_RGB ";" GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_RGBA ";"
1680+#ifdef GPU_VIVANTE
1681+ GST_VIDEO_CAPS_YUV ("{ NV12, I420, YV12, YUY2, UYVY, AYUV }")
1682+#else
1683+ GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }")
1684+#endif
1685+ ));
1686 #endif
1687
1688 enum
1689@@ -152,7 +157,8 @@ enum
1690 PROP_CLIENT_DRAW_CALLBACK,
1691 PROP_CLIENT_DATA,
1692 PROP_FORCE_ASPECT_RATIO,
1693- PROP_PIXEL_ASPECT_RATIO
1694+ PROP_PIXEL_ASPECT_RATIO,
1695+ PROP_RENDERED_FRAMES
1696 };
1697
1698 GST_BOILERPLATE_FULL (GstGLImageSink, gst_glimage_sink, GstVideoSink,
1699@@ -241,6 +247,10 @@ gst_glimage_sink_class_init (GstGLImageSinkClass * klass)
1700 "The pixel aspect ratio of the device", "1/1",
1701 G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
1702
1703+ g_object_class_install_property (gobject_class, PROP_RENDERED_FRAMES,
1704+ g_param_spec_int ("rendered", "rendered",
1705+ "Get the total rendered frames", 0, G_MAXINT, 0, G_PARAM_READABLE));
1706+
1707 gobject_class->finalize = gst_glimage_sink_finalize;
1708
1709 gstelement_class->change_state = gst_glimage_sink_change_state;
1710@@ -261,6 +271,7 @@ gst_glimage_sink_init (GstGLImageSink * glimage_sink,
1711 glimage_sink->new_window_id = 0;
1712 glimage_sink->display = NULL;
1713 glimage_sink->stored_buffer = NULL;
1714+ glimage_sink->stored_input_buffer = NULL;
1715 glimage_sink->clientReshapeCallback = NULL;
1716 glimage_sink->clientDrawCallback = NULL;
1717 glimage_sink->client_data = NULL;
1718@@ -370,6 +381,9 @@ gst_glimage_sink_get_property (GObject * object, guint prop_id,
1719 if (!g_value_transform (glimage_sink->par, value))
1720 g_warning ("Could not transform string to aspect ratio");
1721 break;
1722+ case PROP_RENDERED_FRAMES:
1723+ g_value_set_int (value, glimage_sink->rendered);
1724+ break;
1725 default:
1726 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
1727 break;
1728@@ -435,6 +449,7 @@ gst_glimage_sink_change_state (GstElement * element, GstStateChange transition)
1729
1730 return GST_STATE_CHANGE_FAILURE;
1731 }
1732+ glimage_sink->rendered = 0;
1733 }
1734 break;
1735 case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
1736@@ -456,6 +471,10 @@ gst_glimage_sink_change_state (GstElement * element, GstStateChange transition)
1737 gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer));
1738 glimage_sink->stored_buffer = NULL;
1739 }
1740+ if (glimage_sink->stored_input_buffer) {
1741+ gst_buffer_unref (glimage_sink->stored_input_buffer);
1742+ glimage_sink->stored_input_buffer = NULL;
1743+ }
1744 if (glimage_sink->display) {
1745 g_object_unref (glimage_sink->display);
1746 glimage_sink->display = NULL;
1747@@ -533,6 +552,14 @@ gst_glimage_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
1748 if (!ok)
1749 return FALSE;
1750
1751+#ifdef GPU_VIVANTE
1752+ /* special case for format that vivante can't handle */
1753+ if (format == GST_VIDEO_FORMAT_NV12 &&
1754+ !gst_gl_vivante_check_format (glimage_sink->display->gpu_priv, format,
1755+ width, height))
1756+ return FALSE;
1757+#endif
1758+
1759 /* init colorspace conversion if needed */
1760 ok = gst_gl_display_init_upload (glimage_sink->display, format,
1761 width, height, width, height);
1762@@ -609,6 +636,11 @@ gst_glimage_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
1763 if (!glimage_sink->window_id && !glimage_sink->new_window_id)
1764 gst_x_overlay_prepare_xwindow_id (GST_X_OVERLAY (glimage_sink));
1765
1766+#ifdef GPU_VIVANTE
1767+ if (glimage_sink->display->gpu_priv)
1768+ gst_gl_vivante_set_caps (glimage_sink->display->gpu_priv, caps);
1769+#endif
1770+
1771 return TRUE;
1772 }
1773
1774@@ -617,11 +649,18 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf)
1775 {
1776 GstGLImageSink *glimage_sink = NULL;
1777 GstGLBuffer *gl_buffer = NULL;
1778+ gint index;
1779+ GstFlowReturn res;
1780
1781 glimage_sink = GST_GLIMAGE_SINK (bsink);
1782
1783 GST_INFO ("buffer size: %d", GST_BUFFER_SIZE (buf));
1784
1785+ if (buf == glimage_sink->stored_input_buffer)
1786+ return GST_FLOW_OK;
1787+
1788+ glimage_sink->display->upload_buf_mapped = FALSE;
1789+
1790 //is gl
1791 if (glimage_sink->is_gl) {
1792 //increment gl buffer ref before storage
1793@@ -633,9 +672,16 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf)
1794 gl_buffer = gst_gl_buffer_new (glimage_sink->display,
1795 glimage_sink->width, glimage_sink->height);
1796
1797- //blocking call
1798- gst_gl_display_do_upload (glimage_sink->display, gl_buffer->texture,
1799- glimage_sink->width, glimage_sink->height, GST_BUFFER_DATA (buf));
1800+ index = G_N_ELEMENTS (buf->_gst_reserved) - 1;
1801+
1802+ if (index >= 0)
1803+ //blocking call
1804+ gst_gl_display_do_upload_with_meta (glimage_sink->display,
1805+ gl_buffer->texture, glimage_sink->width, glimage_sink->height,
1806+ GST_BUFFER_DATA (buf), buf->_gst_reserved[index]);
1807+ else
1808+ gst_gl_display_do_upload (glimage_sink->display, gl_buffer->texture,
1809+ glimage_sink->width, glimage_sink->height, GST_BUFFER_DATA (buf));
1810
1811 //gl_buffer is created in this block, so the gl buffer is already referenced
1812 }
1813@@ -645,26 +691,36 @@ gst_glimage_sink_render (GstBaseSink * bsink, GstBuffer * buf)
1814 gst_gl_display_set_window_id (glimage_sink->display,
1815 glimage_sink->window_id);
1816 }
1817- //the buffer is cleared when an other comes in
1818- if (glimage_sink->stored_buffer) {
1819- gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer));
1820- glimage_sink->stored_buffer = NULL;
1821- }
1822- //store current buffer
1823- glimage_sink->stored_buffer = gl_buffer;
1824-
1825 //redisplay opengl scene
1826 if (gl_buffer->texture &&
1827 gst_gl_display_redisplay (glimage_sink->display,
1828 gl_buffer->texture, gl_buffer->width, gl_buffer->height,
1829 glimage_sink->window_width, glimage_sink->window_height,
1830 glimage_sink->keep_aspect_ratio))
1831- return GST_FLOW_OK;
1832+ res = GST_FLOW_OK;
1833 else {
1834 GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND,
1835 GST_GL_DISPLAY_ERR_MSG (glimage_sink->display), (NULL));
1836- return GST_FLOW_ERROR;
1837+ res = GST_FLOW_ERROR;
1838 }
1839+
1840+ //the buffer is cleared when an other comes in
1841+ if (glimage_sink->stored_buffer) {
1842+ gst_buffer_unref (GST_BUFFER_CAST (glimage_sink->stored_buffer));
1843+ glimage_sink->stored_buffer = NULL;
1844+ }
1845+ if (glimage_sink->stored_input_buffer) {
1846+ gst_buffer_unref (glimage_sink->stored_input_buffer);
1847+ glimage_sink->stored_input_buffer = NULL;
1848+ }
1849+ //store current buffer
1850+ glimage_sink->stored_buffer = gl_buffer;
1851+ if (glimage_sink->display->upload_buf_mapped)
1852+ glimage_sink->stored_input_buffer = gst_buffer_ref (buf);
1853+
1854+ glimage_sink->rendered++;
1855+
1856+ return res;
1857 }
1858
1859
1860diff --git a/gst/gl/gstglimagesink.h b/gst/gl/gstglimagesink.h
1861index c61b5c5..bd40bc4 100644
1862--- a/gst/gl/gstglimagesink.h
1863+++ b/gst/gl/gstglimagesink.h
1864@@ -51,6 +51,7 @@ struct _GstGLImageSink
1865
1866 //properties
1867 gchar *display_name;
1868+ gint rendered;
1869
1870 gulong window_id;
1871 gulong new_window_id;
1872@@ -67,6 +68,7 @@ struct _GstGLImageSink
1873
1874 GstGLDisplay *display;
1875 GstGLBuffer *stored_buffer;
1876+ GstBuffer *stored_input_buffer;
1877
1878 CRCB clientReshapeCallback;
1879 CDCB clientDrawCallback;
1880diff --git a/gst/gl/gstglupload.c b/gst/gl/gstglupload.c
1881index 09bc96d..8e12532 100644
1882--- a/gst/gl/gstglupload.c
1883+++ b/gst/gl/gstglupload.c
1884@@ -70,6 +70,9 @@
1885
1886 #include "gstglupload.h"
1887
1888+#ifdef GPU_VIVANTE
1889+#include "gstglvivante.h"
1890+#endif
1891
1892 #define GST_CAT_DEFAULT gst_gl_upload_debug
1893 GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
1894@@ -106,10 +109,13 @@ static GstStaticPadTemplate gst_gl_upload_sink_pad_template =
1895 GST_PAD_SINK,
1896 GST_PAD_ALWAYS,
1897 GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB ";"
1898- GST_VIDEO_CAPS_RGBx ";"
1899- GST_VIDEO_CAPS_RGBA ";"
1900- GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }"))
1901- );
1902+ GST_VIDEO_CAPS_RGBx ";" GST_VIDEO_CAPS_RGBA ";"
1903+#ifdef GPU_VIVANTE
1904+ GST_VIDEO_CAPS_YUV ("{ NV12, I420, YV12, YUY2, UYVY, AYUV }")
1905+#else
1906+ GST_VIDEO_CAPS_YUV ("{ I420, YV12, YUY2, UYVY, AYUV }")
1907+#endif
1908+ ));
1909 #endif
1910
1911 /* Properties */
1912@@ -504,6 +510,14 @@ gst_gl_upload_set_caps (GstBaseTransform * bt, GstCaps * incaps,
1913 GST_DEBUG ("caps connot be parsed");
1914 return FALSE;
1915 }
1916+#ifdef GPU_VIVANTE
1917+ /* special case for format that vivante can't handle */
1918+ if (upload->video_format == GST_VIDEO_FORMAT_NV12 &&
1919+ !gst_gl_vivante_check_format (upload->display->gpu_priv,
1920+ upload->video_format, upload->video_width, upload->video_height))
1921+ return FALSE;
1922+#endif
1923+
1924 //init colorspace conversion if needed
1925 ret = gst_gl_display_init_upload (upload->display, upload->video_format,
1926 upload->gl_width, upload->gl_height,
1927diff --git a/tests/examples/cocoa/videoxoverlay/Makefile.am b/tests/examples/cocoa/videoxoverlay/Makefile.am
1928index 5a85bb4..b4a4932 100755
1929--- a/tests/examples/cocoa/videoxoverlay/Makefile.am
1930+++ b/tests/examples/cocoa/videoxoverlay/Makefile.am
1931@@ -4,7 +4,7 @@ noinst_PROGRAMS = videoxoverlay
1932
1933 videoxoverlay_SOURCES = main.m
1934
1935-videoxoverlay_OBJCFLAGS=$(GST_PLUGINS_GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
1936+videoxoverlay_OBJCFLAGS=$(GST_PLUGINS_GL_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_OBJCFLAGS) \
1937 $(GL_CFLAGS) -I/usr/local/include/gstreamer-0.10
1938 videoxoverlay_LDADD=$(GST_PLUGINS_GL_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_LIBS) \
1939 $(GL_LIBS) -lgstinterfaces-$(GST_MAJORMINOR)
1940diff --git a/common/check.mak b/common/check.mak
1941index 30487f1..bc44620 100644
1942--- a/common/check.mak
1943+++ b/common/check.mak
1944@@ -24,6 +24,12 @@ LOOPS = 10
1945 CK_DEFAULT_TIMEOUT=20 \
1946 $*
1947
1948+# just like 'check', but don't run it again if it fails (useful for debugging)
1949+%.check-norepeat: %
1950+ @$(TESTS_ENVIRONMENT) \
1951+ CK_DEFAULT_TIMEOUT=20 \
1952+ $*
1953+
1954 # run any given test in a loop
1955 %.torture: %
1956 @for i in `seq 1 $(LOOPS)`; do \
1957@@ -152,7 +158,8 @@ help:
1958 @echo
1959 @echo "make check -- run all checks"
1960 @echo "make torture -- run all checks $(LOOPS) times"
1961- @echo "make (dir)/(test).check -- run the given check once"
1962+ @echo "make (dir)/(test).check -- run the given check once, repeat with GST_DEBUG=*:2 if it fails"
1963+ @echo "make (dir)/(test).check-norepeat -- run the given check once, but don't run it again if it fails"
1964 @echo "make (dir)/(test).forever -- run the given check forever"
1965 @echo "make (dir)/(test).torture -- run the given check $(LOOPS) times"
1966 @echo
1967diff --git a/common/gtk-doc-plugins.mak b/common/gtk-doc-plugins.mak
1968index 8cc42e7..084f9ae 100644
1969--- a/common/gtk-doc-plugins.mak
1970+++ b/common/gtk-doc-plugins.mak
1971@@ -13,8 +13,7 @@ help:
1972 @echo
1973
1974 # update the stuff maintained by doc maintainers
1975-update:
1976- $(MAKE) scanobj-update
1977+update: scanobj-update
1978 $(MAKE) check-outdated-docs
1979
1980 # We set GPATH here; this gives us semantics for GNU make
1981@@ -130,7 +129,7 @@ scanobj-build.stamp: $(SCANOBJ_DEPS) $(basefiles)
1982 --module=$(DOC_MODULE) --source=$(PACKAGE) --inspect-dir=$(INSPECT_DIR) && \
1983 echo " DOC Merging introspection data" && \
1984 $(PYTHON) \
1985- $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE); \
1986+ $(top_srcdir)/common/scangobj-merge.py $(DOC_MODULE) || exit 1; \
1987 if test x"$(srcdir)" != x. ; then \
1988 for f in $(SCANOBJ_FILES); \
1989 do \
1990diff --git a/common/m4/Makefile.am b/common/m4/Makefile.am
1991index 2ddb8a7..856d6e3 100644
1992--- a/common/m4/Makefile.am
1993+++ b/common/m4/Makefile.am
1994@@ -8,7 +8,6 @@ EXTRA_DIST = \
1995 as-gcc-inline-assembly.m4 \
1996 as-libtool.m4 \
1997 as-libtool-tags.m4 \
1998- as-objc.m4 \
1999 as-python.m4 \
2000 as-scrub-include.m4 \
2001 as-version.m4 \
2002diff --git a/common/m4/as-compiler-flag.m4 b/common/m4/as-compiler-flag.m4
2003index 882a4c7..8bb853a 100644
2004--- a/common/m4/as-compiler-flag.m4
2005+++ b/common/m4/as-compiler-flag.m4
2006@@ -62,3 +62,35 @@ AC_DEFUN([AS_CXX_COMPILER_FLAG],
2007 AC_MSG_RESULT([$flag_ok])
2008 ])
2009
2010+dnl AS_OBJC_COMPILER_FLAG(CPPFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
2011+dnl Tries to compile with the given CPPFLAGS.
2012+dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
2013+dnl and ACTION-IF-NOT-ACCEPTED otherwise.
2014+
2015+AC_DEFUN([AS_OBJC_COMPILER_FLAG],
2016+[
2017+ AC_REQUIRE([AC_PROG_OBJC])
2018+
2019+ AC_MSG_CHECKING([to see if Objective C compiler understands $1])
2020+
2021+ save_CPPFLAGS="$CPPFLAGS"
2022+ CPPFLAGS="$CPPFLAGS $1"
2023+
2024+ AC_LANG_PUSH([Objective C])
2025+
2026+ AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
2027+ CPPFLAGS="$save_CPPFLAGS"
2028+
2029+ if test "X$flag_ok" = Xyes ; then
2030+ $2
2031+ true
2032+ else
2033+ $3
2034+ true
2035+ fi
2036+
2037+ AC_LANG_POP([Objective C])
2038+
2039+ AC_MSG_RESULT([$flag_ok])
2040+])
2041+
2042diff --git a/common/m4/as-objc.m4 b/common/m4/as-objc.m4
2043deleted file mode 100644
2044index 1e7066a..0000000
2045--- a/common/m4/as-objc.m4
2046+++ /dev/null
2047@@ -1,56 +0,0 @@
2048-
2049-
2050-# AC_PROG_OBJC([LIST-OF-COMPILERS])
2051-#
2052-AC_DEFUN([AS_PROG_OBJC],
2053-[
2054-AC_CHECK_TOOLS(OBJC,
2055- [m4_default([$1], [objcc objc gcc cc CC])],
2056- none)
2057-AC_SUBST(OBJC)
2058-OBJC_LDFLAGS="-lobjc"
2059-AC_SUBST(OBJC_LDFLAGS)
2060-if test "x$OBJC" != xnone ; then
2061- _AM_DEPENDENCIES(OBJC)
2062- AC_MSG_CHECKING([if Objective C compiler works])
2063- cat >>conftest.m <<EOF
2064-#include <objc/Object.h>
2065-@interface Moo:Object
2066-{
2067-}
2068-- moo;
2069-int main();
2070-@end
2071-
2072-@implementation Moo
2073-- moo
2074-{
2075- exit(0);
2076-}
2077-
2078-int main()
2079-{
2080- id moo;
2081- moo = [[Moo new]];
2082- [[moo moo]];
2083- return 1;
2084-}
2085-@end
2086-EOF
2087- ${OBJC} conftest.m ${OBJC_LDFLAGS} >&5 2>&5
2088- if test -f a.out -o -f a.exe ; then
2089- result=yes
2090- else
2091- result=no
2092- echo failed program is: >&5
2093- cat conftest.m >&5
2094- fi
2095- rm -f conftest.m a.out a.exe
2096- AC_MSG_RESULT([$result])
2097-else
2098- _AM_DEPENDENCIES(OBJC)
2099-fi
2100-
2101-])
2102-
2103-
2104diff --git a/common/m4/gst-arch.m4 b/common/m4/gst-arch.m4
2105index 2e935d2..077a20b 100644
2106--- a/common/m4/gst-arch.m4
2107+++ b/common/m4/gst-arch.m4
2108@@ -5,32 +5,30 @@ dnl defines HOST_CPU
2109
2110 AC_DEFUN([AG_GST_ARCH],
2111 [
2112- AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
2113-
2114 dnl Determine CPU
2115- case "x${host_cpu}" in
2116+ case "x${target_cpu}" in
2117 xi?86 | xk? | xi?86_64)
2118- case $host_os in
2119+ case $target_os in
2120 solaris*)
2121 AC_CHECK_DECL([__i386], [I386_ABI="yes"], [I386_ABI="no"])
2122 AC_CHECK_DECL([__amd64], [AMD64_ABI="yes"], [AMD64_ABI="no"])
2123
2124 if test "x$I386_ABI" = "xyes" ; then
2125 HAVE_CPU_I386=yes
2126- AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
2127+ AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
2128 fi
2129 if test "x$AMD64_ABI" = "xyes" ; then
2130 HAVE_CPU_X86_64=yes
2131- AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64])
2132+ AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64])
2133 fi
2134 ;;
2135 *)
2136 HAVE_CPU_I386=yes
2137- AC_DEFINE(HAVE_CPU_I386, 1, [Define if the host CPU is an x86])
2138+ AC_DEFINE(HAVE_CPU_I386, 1, [Define if the target CPU is an x86])
2139
2140 dnl FIXME could use some better detection
2141 dnl (ie CPUID)
2142- case "x${host_cpu}" in
2143+ case "x${target_cpu}" in
2144 xi386 | xi486) ;;
2145 *)
2146 AC_DEFINE(HAVE_RDTSC, 1, [Define if RDTSC is available]) ;;
2147@@ -40,43 +38,43 @@ AC_DEFUN([AG_GST_ARCH],
2148 ;;
2149 xpowerpc)
2150 HAVE_CPU_PPC=yes
2151- AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the host CPU is a PowerPC]) ;;
2152+ AC_DEFINE(HAVE_CPU_PPC, 1, [Define if the target CPU is a PowerPC]) ;;
2153 xpowerpc64)
2154 HAVE_CPU_PPC64=yes
2155- AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the host CPU is a 64 bit PowerPC]) ;;
2156+ AC_DEFINE(HAVE_CPU_PPC64, 1, [Define if the target CPU is a 64 bit PowerPC]) ;;
2157 xalpha*)
2158 HAVE_CPU_ALPHA=yes
2159- AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the host CPU is an Alpha]) ;;
2160+ AC_DEFINE(HAVE_CPU_ALPHA, 1, [Define if the target CPU is an Alpha]) ;;
2161 xarm*)
2162 HAVE_CPU_ARM=yes
2163- AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the host CPU is an ARM]) ;;
2164+ AC_DEFINE(HAVE_CPU_ARM, 1, [Define if the target CPU is an ARM]) ;;
2165 xsparc*)
2166 HAVE_CPU_SPARC=yes
2167- AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the host CPU is a SPARC]) ;;
2168+ AC_DEFINE(HAVE_CPU_SPARC, 1, [Define if the target CPU is a SPARC]) ;;
2169 xmips*)
2170 HAVE_CPU_MIPS=yes
2171- AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the host CPU is a MIPS]) ;;
2172+ AC_DEFINE(HAVE_CPU_MIPS, 1, [Define if the target CPU is a MIPS]) ;;
2173 xhppa*)
2174 HAVE_CPU_HPPA=yes
2175- AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the host CPU is a HPPA]) ;;
2176+ AC_DEFINE(HAVE_CPU_HPPA, 1, [Define if the target CPU is a HPPA]) ;;
2177 xs390*)
2178 HAVE_CPU_S390=yes
2179- AC_DEFINE(HAVE_CPU_S390, 1, [Define if the host CPU is a S390]) ;;
2180+ AC_DEFINE(HAVE_CPU_S390, 1, [Define if the target CPU is a S390]) ;;
2181 xia64*)
2182 HAVE_CPU_IA64=yes
2183- AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the host CPU is a IA64]) ;;
2184+ AC_DEFINE(HAVE_CPU_IA64, 1, [Define if the target CPU is a IA64]) ;;
2185 xm68k*)
2186 HAVE_CPU_M68K=yes
2187- AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the host CPU is a M68K]) ;;
2188+ AC_DEFINE(HAVE_CPU_M68K, 1, [Define if the target CPU is a M68K]) ;;
2189 xx86_64)
2190 HAVE_CPU_X86_64=yes
2191- AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the host CPU is a x86_64]) ;;
2192+ AC_DEFINE(HAVE_CPU_X86_64, 1, [Define if the target CPU is a x86_64]) ;;
2193 xcris)
2194 HAVE_CPU_CRIS=yes
2195- AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the host CPU is a CRIS]) ;;
2196+ AC_DEFINE(HAVE_CPU_CRIS, 1, [Define if the target CPU is a CRIS]) ;;
2197 xcrisv32)
2198 HAVE_CPU_CRISV32=yes
2199- AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the host CPU is a CRISv32]) ;;
2200+ AC_DEFINE(HAVE_CPU_CRISV32, 1, [Define if the target CPU is a CRISv32]) ;;
2201 esac
2202
2203 dnl Determine endianness
2204@@ -98,6 +96,7 @@ AC_DEFUN([AG_GST_ARCH],
2205 AM_CONDITIONAL(HAVE_CPU_CRISV32, test "x$HAVE_CPU_CRISV32" = "xyes")
2206
2207 AC_DEFINE_UNQUOTED(HOST_CPU, "$host_cpu", [the host CPU])
2208+ AC_DEFINE_UNQUOTED(TARGET_CPU, "$target_cpu", [the target CPU])
2209 ])
2210
2211 dnl check if unaligned memory access works correctly
2212diff --git a/common/m4/gst-args.m4 b/common/m4/gst-args.m4
2213index 030e7ac..e011ed4 100644
2214--- a/common/m4/gst-args.m4
2215+++ b/common/m4/gst-args.m4
2216@@ -19,6 +19,7 @@ dnl AG_GST_ARG_ENABLE_EXTERNAL
2217 dnl AG_GST_ARG_ENABLE_EXPERIMENTAL
2218 dnl AG_GST_ARG_ENABLE_BROKEN
2219
2220+dnl AG_GST_ARG_DISABLE_FATAL_WARNINGS
2221 AC_DEFUN([AG_GST_ARG_DEBUG],
2222 [
2223 dnl debugging stuff
2224@@ -110,13 +111,13 @@ AC_DEFUN([AG_GST_ARG_GCOV],
2225 dnl if gcov is used, we do not want default -O2 CFLAGS
2226 if test "x$GST_GCOV_ENABLED" = "xyes"
2227 then
2228- CFLAGS="-O0"
2229+ CFLAGS="$CFLAGS -O0"
2230 AC_SUBST(CFLAGS)
2231- CXXFLAGS="-O0"
2232+ CXXFLAGS="$CXXFLAGS -O0"
2233 AC_SUBST(CXXFLAGS)
2234- FFLAGS="-O0"
2235+ FFLAGS="$FFLAGS -O0"
2236 AC_SUBST(FFLAGS)
2237- CCASFLAGS="-O0"
2238+ CCASFLAGS="$CCASFLAGS -O0"
2239 AC_SUBST(CCASFLAGS)
2240 AC_MSG_NOTICE([gcov enabled, setting CFLAGS and friends to $CFLAGS])
2241 fi
2242@@ -325,3 +326,20 @@ AC_DEFUN([AG_GST_ARG_ENABLE_BROKEN],
2243 AC_MSG_NOTICE([not building broken plug-ins])
2244 ])
2245 ])
2246+
2247+dnl allow people (or build tools) to override default behaviour
2248+dnl for fatal compiler warnings
2249+AC_DEFUN([AG_GST_ARG_DISABLE_FATAL_WARNINGS],
2250+[
2251+ AC_ARG_ENABLE(fatal-warnings,
2252+ AC_HELP_STRING([--disable-fatal-warnings],
2253+ [Don't turn compiler warnings into fatal errors]),
2254+ [
2255+ case "${enableval}" in
2256+ yes) FATAL_WARNINGS=yes ;;
2257+ no) FATAL_WARNINGS=no ;;
2258+ *) AC_MSG_ERROR(bad value ${enableval} for --disable-fatal-warnings) ;;
2259+ esac
2260+ ],
2261+ [FATAL_WARNINGS=$GST_GIT]) dnl Default value
2262+])
2263diff --git a/common/m4/gst-check.m4 b/common/m4/gst-check.m4
2264index 3fd3acf..f3f39b4 100644
2265--- a/common/m4/gst-check.m4
2266+++ b/common/m4/gst-check.m4
2267@@ -117,6 +117,38 @@ AC_DEFUN([AG_GST_CHECK_GST_CHECK],
2268 ])
2269
2270 dnl ===========================================================================
2271+dnl AG_GST_CHECK_UNINSTALLED_SETUP([ACTION-IF-UNINSTALLED], [ACTION-IF-NOT])
2272+dnl
2273+dnl ACTION-IF-UNINSTALLED (optional) extra actions to perform if the setup
2274+dnl is an uninstalled setup
2275+dnl ACTION-IF-NOT (optional) extra actions to perform if the setup
2276+dnl is not an uninstalled setup
2277+dnl ===========================================================================
2278+AC_DEFUN([AG_GST_CHECK_UNINSTALLED_SETUP],
2279+[
2280+ AC_MSG_CHECKING([whether this is an uninstalled GStreamer setup])
2281+ AC_CACHE_VAL(gst_cv_is_uninstalled_setup,[
2282+ gst_cv_is_uninstalled_setup=no
2283+ if (set -u; : $GST_PLUGIN_SYSTEM_PATH) 2>/dev/null ; then
2284+ if test -z "$GST_PLUGIN_SYSTEM_PATH" \
2285+ -a -n "$GST_PLUGIN_SCANNER" \
2286+ -a -n "$GST_PLUGIN_PATH" \
2287+ -a -n "$GST_REGISTRY" \
2288+ -a -n "$DYLD_LIBRARY_PATH" \
2289+ -a -n "$LD_LIBRARY_PATH"; then
2290+ gst_cv_is_uninstalled_setup=yes;
2291+ fi
2292+ fi
2293+ ])
2294+ AC_MSG_RESULT($gst_cv_is_uninstalled_setup)
2295+ if test "x$gst_cv_is_uninstalled_setup" = "xyes"; then
2296+ ifelse([$1], , :, [$1])
2297+ else
2298+ ifelse([$2], , :, [$2])
2299+ fi
2300+])
2301+
2302+dnl ===========================================================================
2303 dnl AG_GST_CHECK_GST_PLUGINS_BASE([GST-MAJORMINOR], [MIN-VERSION], [REQUIRED])
2304 dnl
2305 dnl Sets GST_PLUGINS_BASE_CFLAGS and GST_PLUGINS_BASE_LIBS.
2306diff --git a/common/m4/gst-error.m4 b/common/m4/gst-error.m4
2307index f8f2364..e12a04c 100644
2308--- a/common/m4/gst-error.m4
2309+++ b/common/m4/gst-error.m4
2310@@ -196,6 +196,91 @@ AC_DEFUN([AG_GST_SET_ERROR_CXXFLAGS],
2311 AC_MSG_NOTICE([set ERROR_CXXFLAGS to $ERROR_CXXFLAGS])
2312 ])
2313
2314+dnl Sets WARNING_OBJCFLAGS and ERROR_OBJCFLAGS to something the compiler
2315+dnl will accept and AC_SUBST them so they are available in Makefile
2316+dnl
2317+dnl WARNING_OBJCFLAGS will contain flags to make the compiler emit more
2318+dnl warnings.
2319+dnl ERROR_OBJCFLAGS will contain flags to make those warnings fatal,
2320+dnl unless ADD-WERROR is set to "no"
2321+dnl
2322+dnl If MORE_FLAGS is set, tries to add each of the given flags
2323+dnl to WARNING_CFLAGS if the compiler supports them. Each flag is
2324+dnl tested separately.
2325+dnl
2326+dnl These flags can be overridden at make time:
2327+dnl make ERROR_OBJCFLAGS=
2328+AC_DEFUN([AG_GST_SET_ERROR_OBJCFLAGS],
2329+[
2330+ AC_REQUIRE([AC_PROG_OBJC])
2331+ AC_REQUIRE([AS_OBJC_COMPILER_FLAG])
2332+
2333+ ERROR_OBJCFLAGS=""
2334+ WARNING_OBJCFLAGS=""
2335+
2336+ dnl if we support -Wall, set it unconditionally
2337+ AS_OBJC_COMPILER_FLAG(-Wall, WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS -Wall")
2338+
2339+ dnl if asked for, add -Werror if supported
2340+ if test "x$1" != "xno"
2341+ then
2342+ AS_OBJC_COMPILER_FLAG(-Werror, ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -Werror")
2343+
2344+ if test "x$ERROR_OBJCFLAGS" != "x"
2345+ then
2346+ dnl Add -fno-strict-aliasing for GLib versions before 2.19.8
2347+ dnl as before G_LOCK and friends caused strict aliasing compiler
2348+ dnl warnings.
2349+ PKG_CHECK_EXISTS([glib-2.0 < 2.19.8], [
2350+ AS_OBJC_COMPILER_FLAG([-fno-strict-aliasing],
2351+ ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -fno-strict-aliasing")
2352+ ])
2353+ else
2354+ dnl if -Werror isn't suported, try -errwarn=%all
2355+ AS_OBJC_COMPILER_FLAG([-errwarn=%all], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS -errwarn=%all")
2356+ if test "x$ERROR_OBJCFLAGS" != "x"; then
2357+ dnl try -errwarn=%all,no%E_EMPTY_DECLARATION,
2358+ dnl no%E_STATEMENT_NOT_REACHED,no%E_ARGUEMENT_MISMATCH,
2359+ dnl no%E_MACRO_REDEFINED (Sun Forte case)
2360+ dnl For Forte we need disable "empty declaration" warning produced by un-needed semicolon
2361+ dnl "statement not reached" disabled because there is g_assert_not_reached () in some places
2362+ dnl "macro redefined" because of gst/gettext.h
2363+ dnl FIXME: is it really supposed to be 'ARGUEMENT' and not 'ARGUMENT'?
2364+ dnl FIXME: do any of these work with the c++ compiler? if not, why
2365+ dnl do we check at all?
2366+ for f in 'no%E_EMPTY_DECLARATION' \
2367+ 'no%E_STATEMENT_NOT_REACHED' \
2368+ 'no%E_ARGUEMENT_MISMATCH' \
2369+ 'no%E_MACRO_REDEFINED' \
2370+ 'no%E_LOOP_NOT_ENTERED_AT_TOP'
2371+ do
2372+ AS_OBJC_COMPILER_FLAG([-errwarn=%all,$f], ERROR_OBJCFLAGS="$ERROR_OBJCFLAGS,$f")
2373+ done
2374+ fi
2375+ fi
2376+ fi
2377+
2378+ if test "x$2" != "x"
2379+ then
2380+ UNSUPPORTED=""
2381+ list="$2"
2382+ for each in $list
2383+ do
2384+ AS_OBJC_COMPILER_FLAG($each,
2385+ WARNING_OBJCFLAGS="$WARNING_OBJCFLAGS $each",
2386+ UNSUPPORTED="$UNSUPPORTED $each")
2387+ done
2388+ if test "X$UNSUPPORTED" != X ; then
2389+ AC_MSG_NOTICE([unsupported compiler flags: $UNSUPPORTED])
2390+ fi
2391+ fi
2392+
2393+ AC_SUBST(WARNING_OBJCFLAGS)
2394+ AC_SUBST(ERROR_OBJCFLAGS)
2395+ AC_MSG_NOTICE([set WARNING_OBJCFLAGS to $WARNING_OBJCFLAGS])
2396+ AC_MSG_NOTICE([set ERROR_OBJCFLAGS to $ERROR_OBJCFLAGS])
2397+])
2398+
2399 dnl Sets the default error level for debugging messages
2400 AC_DEFUN([AG_GST_SET_LEVEL_DEFAULT],
2401 [
2402diff --git a/common/m4/gst-feature.m4 b/common/m4/gst-feature.m4
2403index c072c79..cff7f30 100644
2404--- a/common/m4/gst-feature.m4
2405+++ b/common/m4/gst-feature.m4
2406@@ -232,10 +232,11 @@ AC_DEFUN([AG_GST_CHECK_GST_DEBUG_DISABLED],
2407 save_CFLAGS="$CFLAGS"
2408 CFLAGS="$GST_CFLAGS $CFLAGS"
2409 AC_COMPILE_IFELSE([
2410+ AC_LANG_SOURCE([[
2411 #include <gst/gstconfig.h>
2412 #ifdef GST_DISABLE_GST_DEBUG
2413 #error "debugging disabled, make compiler fail"
2414- #endif], [ debug_system_enabled=yes], [debug_system_enabled=no])
2415+ #endif]])], [ debug_system_enabled=yes], [debug_system_enabled=no])
2416 CFLAGS="$save_CFLAGS"
2417 AC_LANG_POP([C])
2418
2419diff --git a/common/m4/gst.m4 b/common/m4/gst.m4
2420index ddfde51..d4c53cb 100644
2421--- a/common/m4/gst.m4
2422+++ b/common/m4/gst.m4
2423@@ -3,10 +3,15 @@ dnl sets up use of GStreamer configure.ac macros
2424 dnl all GStreamer autoconf macros are prefixed
2425 dnl with AG_GST_ for public macros
2426 dnl with _AG_GST_ for private macros
2427+dnl
2428+dnl We call AC_CANONICAL_TARGET and AC_CANONICAL_HOST so that
2429+dnl it is valid before AC_ARG_PROGRAM is called
2430
2431 AC_DEFUN([AG_GST_INIT],
2432 [
2433 m4_pattern_forbid(^_?AG_GST_)
2434+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use host_ variables
2435+ AC_REQUIRE([AC_CANONICAL_TARGET]) dnl we use target_ variables
2436 ])
2437
2438 dnl AG_GST_PKG_CONFIG_PATH
diff --git a/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend b/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend
new file mode 100644
index 0000000..44a4b92
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst-plugins-gl_%.bbappend
@@ -0,0 +1,11 @@
1# gst-plugins-gl for imx6 Vivante
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
4
5DEPENDS_append_mx6 = " gst-fsl-plugin gpu-viv-bin-mx6q"
6
7SRC_URI_append_mx6 = " file://IMX_MMCODEC_3.0.35_4.0.0.patch"
8
9CFLAGS_append_mx6 = " -DGLIB_DISABLE_DEPRECATION_WARNINGS -UG_DISABLE_DEPRECATED"
10
11PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
new file mode 100644
index 0000000..8be11a2
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -0,0 +1,7 @@
1# Vivante EGL headers require the correct preprocessor
2# defines to be set for each platform
3CFLAGS_append_mx6 = " -DLINUX \
4 ${@base_contains('DISTRO_FEATURES', 'x11', '', \
5 base_contains('DISTRO_FEATURES', 'wayland', '-DEGL_API_FB -DEGL_API_WL', \
6 base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB', \
7 '-DEGL_API_FB', d),d),d)}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb
new file mode 100644
index 0000000..71d95f1
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.9.6.bb
@@ -0,0 +1,33 @@
1DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
2LICENSE = "LGPLv2+"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
4SECTION = "multimedia"
5DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libfslvpuwrap virtual/kernel virtual/egl \
6 virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
7
8SRCBRANCH ?= "master"
9SRCREV = "67ea62069fca79d65bf244e98ff568d39399fdaf"
10SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
11
12S = "${WORKDIR}/git"
13
14inherit waf
15
16# configure the eglvivsink element to use the appropiate EGL platform code
17# X11 if x11 is present in DISTRO_FEATURES
18# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is
19# Framebuffer otherwise
20EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
21 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
22 'fb', d),d)}"
23
24EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
25
26# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
27LIBV = "1.0"
28require recipes-multimedia/gstreamer/gst-plugins-package.inc
29
30# the following line is required to produce one package for each plugin
31PACKAGES_DYNAMIC = "^${PN}-.*"
32
33COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-multimedia/libfslcodec/libfslcodec.inc b/recipes-multimedia/libfslcodec/libfslcodec.inc
new file mode 100644
index 0000000..8ce80bc
--- /dev/null
+++ b/recipes-multimedia/libfslcodec/libfslcodec.inc
@@ -0,0 +1,84 @@
1# Copyright (C) 2012-2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3DESCRIPTION = "Freescale Multimedia codec libs"
4LICENSE = "Proprietary"
5SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6"
7
8inherit fsl-eula-unpack autotools pkgconfig
9
10SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
11
12PACKAGES_DYNAMIC = "${PN}-*"
13INHIBIT_PACKAGE_STRIP = "1"
14INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
15
16PACKAGES += "${PN}-meta ${PN}-test-bin ${PN}-test-source"
17
18ALLOW_EMPTY_${PN} = "1"
19ALLOW_EMPTY_${PN}-meta = "1"
20
21# Choose between Soft Float-Point and Hard Float-Point
22EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d)}"
23
24# VPU Hardware acceleration
25VPU_SUPPORT = "--disable-vpu"
26VPU_SUPPORT_mx6 = "--enable-vpu"
27VPU_SUPPORT_mx6sl = "--disable-vpu"
28VPU_SUPPORT_mx5 = "--enable-vpu"
29EXTRA_OECONF += "${VPU_SUPPORT}"
30
31do_install_append() {
32 # FIXME: This link points to nowhere
33 rm ${D}${libdir}/imx-mm/audio-codec/lib_src_ppp_arm11_elinux.so
34
35 # LTIB move the files around or gst-fsl-plugin won't find them
36 for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
37 mv $p ${D}${libdir}
38 done
39 rmdir ${D}${libdir}/imx-mm/video-codec
40
41}
42
43python populate_packages_prepend() {
44 codecdir = bb.data.expand('${libdir}', d)
45 do_split_packages(d, codecdir, '^lib_([^_]*).*_arm.*_elinux\.so\..*',
46 aux_files_pattern='${libdir}/imx-mm/audio-codec/wrap/lib_%sd_wrap_arm*_elinux.so.*',
47 output_pattern='libfslcodec-%s',
48 description='Freescale i.MX Codec (%s)',
49 extra_depends='')
50
51 # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
52 # the source we cannot fix it. Disable the insane check for now.
53 for p in d.getVar('PACKAGES', True).split():
54 d.setVar("DEBIAN_NOAUTONAME_%s" % p, "1")
55
56 if p == 'libfslcodec-test-bin':
57 # FIXME: includes the DUT .so files so we need to deploy those
58 d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel libdir")
59 else:
60 d.setVar("INSANE_SKIP_%s" % p, "ldflags textrel")
61
62 # Allow addition of all codecs in a image; useful specially for
63 # debugging.
64 codec_pkgs = oe.utils.packages_filter_out_system(d)
65 codec_pkgs = filter(lambda x: x not in ['libfslcodec-test-bin', 'libfslcodec-test-source'],
66 codec_pkgs)
67 d.appendVar('RDEPENDS_libfslcodec-meta', ' ' + ' '.join(codec_pkgs))
68}
69
70# Ensure we get warnings if we miss something
71FILES_${PN} = ""
72
73FILES_${PN}-dev += "${libdir}/imx-mm/*/*${SOLIBSDEV} \
74 ${libdir}/imx-mm/*/*/*${SOLIBSDEV} \
75 ${libdir}/pkgconfig/*.pc ${includedir}/imx-mm/*"
76
77FILES_${PN}-test-bin += "${datadir}/imx-mm/*/examples/*/bin"
78
79FILES_${PN}-test-source += "${datadir}/imx-mm/*"
80
81# FIXME: The wrap and lib names does not match
82FILES_${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm*_elinux.so.*"
83
84PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb b/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb
new file mode 100644
index 0000000..3c408f9
--- /dev/null
+++ b/recipes-multimedia/libfslcodec/libfslcodec_3.0.11.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require libfslcodec.inc
5
6SRC_URI[md5sum] = "dd44ca15b88b79f8f958380bdf94a753"
7SRC_URI[sha256sum] = "510b5362f7e357f05d4c9c059c2688733aa5df617d357c7c55e2ca3fa4be8654"
8
9COMPATIBLE_MACHINE = "(mxs|mx5|mx6)"
diff --git a/recipes-multimedia/libfslparser/libfslparser.inc b/recipes-multimedia/libfslparser/libfslparser.inc
new file mode 100644
index 0000000..3e2a004
--- /dev/null
+++ b/recipes-multimedia/libfslparser/libfslparser.inc
@@ -0,0 +1,30 @@
1# Copyright (C) 2012-2013 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3DESCRIPTION = "Freescale Multimedia parser libs"
4LICENSE = "Proprietary"
5SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://COPYING;md5=93b784b1c11b3fffb1638498a8dde3f6"
7
8inherit fsl-eula-unpack autotools pkgconfig
9
10SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
11
12# Choose between Soft Float-Point and Hard Float-Point
13EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '--enable-fsw', d)}"
14
15INHIBIT_PACKAGE_STRIP = "1"
16INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
17
18python populate_packages_prepend() {
19 # FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
20 # the source we cannot fix it. Disable the insane check for now.
21 # FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
22 for p in d.getVar('PACKAGES', True).split():
23 d.setVar("INSANE_SKIP_%s" % p, "ldflags dev-so textrel")
24}
25
26# FIXME: gst-fsl-plugin looks for the .so files so we need to deploy those
27FILES_${PN} += "${libdir}/imx-mm/*/*${SOLIBS} ${libdir}/imx-mm/*/*${SOLIBSDEV}"
28
29PACKAGE_ARCH = "${MACHINE_ARCH}"
30
diff --git a/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb b/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb
new file mode 100644
index 0000000..cd4fe4a
--- /dev/null
+++ b/recipes-multimedia/libfslparser/libfslparser_3.0.11.bb
@@ -0,0 +1,9 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4require libfslparser.inc
5
6SRC_URI[md5sum] = "d141c9e0b8221a306db4b1e161fd8e04"
7SRC_URI[sha256sum] = "921a5f6dab239eadd08dc7ac1f36d666cf76cf61c6cd32ab9d68069986ea7c96"
8
9COMPATIBLE_MACHINE = "(mxs|mx5|mx6)"
diff --git a/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch
new file mode 100644
index 0000000..ccd2d9e
--- /dev/null
+++ b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap/0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch
@@ -0,0 +1,41 @@
1From 7ca66c10c05168c7d342df7c7a70d4a1ae0629f7 Mon Sep 17 00:00:00 2001
2From: Eric Nelson <eric.nelson@boundarydevices.com>
3Date: Sat, 28 Jun 2014 09:45:09 -0700
4Subject: [PATCH] vpu_wrapper: fix tests of return value from IOGetVirtMem
5
6IOGetVirtMem() returns a pointer or specifically -1 (MAP_FAILED)
7in the case of failure.
8
9Upstream-Status: Pending
10
11Signed-off-by: Laci Tele <laci@boundarydevices.com>
12Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
13---
14 vpu_wrapper.c | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/vpu_wrapper.c b/vpu_wrapper.c
18index 9249174..148c5df 100755
19--- a/vpu_wrapper.c
20+++ b/vpu_wrapper.c
21@@ -6653,7 +6653,7 @@ VpuDecRetCode VPU_DecGetMem(VpuMemDesc* pInOutMem)
22 return VPU_DEC_RET_FAILURE;
23 }
24 ret=IOGetVirtMem(&buff);
25- if(ret==0) //if(ret!=RETCODE_SUCCESS)
26+ if(ret == -1) //if(ret==MAP_FAILED)
27 {
28 VPU_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,ret);
29 return VPU_DEC_RET_FAILURE;
30@@ -8277,7 +8277,7 @@ VpuEncRetCode VPU_EncGetMem(VpuMemDesc* pInOutMem)
31 return VPU_ENC_RET_FAILURE;
32 }
33 ret=IOGetVirtMem(&buff);
34- if(ret==0) //if(ret!=RETCODE_SUCCESS)
35+ if(ret == -1) //if(ret==MAP_FAILED)
36 {
37 VPU_ENC_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,(UINT32)ret);
38 return VPU_ENC_RET_FAILURE;
39--
401.9.1
41
diff --git a/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb
new file mode 100644
index 0000000..8cc1523
--- /dev/null
+++ b/recipes-multimedia/libfslvpuwrap/libfslvpuwrap_1.0.46.bb
@@ -0,0 +1,23 @@
1# Copyright (C) 2013, 2014 Freescale Semiconductor
2# Released under the MIT license (see COPYING.MIT for the terms)
3DESCRIPTION = "Freescale Multimedia VPU wrapper"
4DEPENDS = "imx-vpu"
5LICENSE = "Proprietary"
6SECTION = "multimedia"
7LIC_FILES_CHKSUM = "file://EULA.txt;md5=93b784b1c11b3fffb1638498a8dde3f6"
8
9SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true"
10SRC_URI[md5sum] = "1f50110cb6de8ebf767fb9c5f8baf20d"
11SRC_URI[sha256sum] = "7fc1258de338339d19a1a35167393fdc4d773682dfd9b951b197403a075f85fd"
12
13SRC_URI_append = " file://0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch"
14
15inherit fsl-eula-unpack autotools pkgconfig
16
17do_install_append() {
18 # FIXME: Drop examples for now
19 rm -r ${D}${datadir}/imx-mm
20}
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23COMPATIBLE_MACHINE = "(mx6q|mx6dl)"
diff --git a/recipes-qt/qt4/qt4-embedded_%.bbappend b/recipes-qt/qt4/qt4-embedded_%.bbappend
new file mode 100644
index 0000000..05cc2e6
--- /dev/null
+++ b/recipes-qt/qt4/qt4-embedded_%.bbappend
@@ -0,0 +1,12 @@
1#Freescale
2include qt4-phonon-patches.inc
3
4DEPENDS_append_mx5 = " virtual/kernel virtual/libgles2"
5QT_GLFLAGS_mx5 = "-opengl es2 -openvg"
6QT_CONFIG_FLAGS_append_mx5 = " -I${STAGING_KERNEL_DIR}/include/"
7
8DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2"
9QT_GLFLAGS_mx6 = "-opengl es2 -openvg"
10QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/uapi \
11 -I${STAGING_KERNEL_DIR}/include/ \
12 -DLINUX=1 -DEGL_API_FB=1"
diff --git a/recipes-qt/qt4/qt4-phonon-patches.inc b/recipes-qt/qt4/qt4-phonon-patches.inc
new file mode 100644
index 0000000..60bdeea
--- /dev/null
+++ b/recipes-qt/qt4/qt4-phonon-patches.inc
@@ -0,0 +1,8 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/qt4:"
2
3SRC_URI_append_mx5 += "file://0001-Add-support-for-i.MX-codecs-to-phonon.patch"
4SRC_URI_append_mx6 += " \
5 file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
6 file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
7"
8
diff --git a/recipes-qt/qt4/qt4-x11-free_%.bbappend b/recipes-qt/qt4/qt4-x11-free_%.bbappend
new file mode 100644
index 0000000..cf763b6
--- /dev/null
+++ b/recipes-qt/qt4/qt4-x11-free_%.bbappend
@@ -0,0 +1,15 @@
1#Freescale
2include qt4-phonon-patches.inc
3
4DEPENDS_append_mx5 = " virtual/kernel virtual/libgles2"
5QT_GLFLAGS_mx5 = "-opengl es2 -openvg"
6QT_CONFIG_FLAGS_append_mx5 = " -I${STAGING_KERNEL_DIR}/include/"
7
8DEPENDS_append_mx6 = " virtual/kernel virtual/libgles2"
9QT_GLFLAGS_mx6 = "-opengl es2 -openvg"
10QT_CONFIG_FLAGS_append_mx6 = " -I${STAGING_KERNEL_DIR}/include/uapi \
11 -I${STAGING_KERNEL_DIR}/include/ \
12 -DLINUX=1 -DEGL_API_FB=1 \
13 -DQT_QPA_EXPERIMENTAL_TOUCHEVENT=1"
14
15SRC_URI_append_mx6 = " file://0003-i.MX6-force-egl-visual-ID-33.patch"
diff --git a/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch b/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
new file mode 100644
index 0000000..1213650
--- /dev/null
+++ b/recipes-qt/qt4/qt4/0001-Add-support-for-i.MX-codecs-to-phonon.patch
@@ -0,0 +1,468 @@
1From 2ff5682e42771519757756dedbf27b7a9e8e25d9 Mon Sep 17 00:00:00 2001
2From: Rogerio Pimentel <rogerio.pimentel@freescale.com>
3Date: Tue, 24 Jul 2012 13:47:01 -0300
4Subject: [PATCH] Add support for i.MX codecs to phonon
5
6Add support for i.MX codecs to phonon
7
8Signed-off-by: Daniele Dall'Acqua <daniele.d@freescale.com>
9Signed-off-by: Rogerio Pimentel <rogerio.pimentel@freescale.com>
10---
11 src/3rdparty/phonon/gstreamer/abstractrenderer.h | 1 +
12 src/3rdparty/phonon/gstreamer/mediaobject.cpp | 4 +
13 src/3rdparty/phonon/gstreamer/videowidget.cpp | 60 ++------
14 src/3rdparty/phonon/gstreamer/videowidget.h | 1 +
15 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 169 ++++++++++++++--------
16 src/3rdparty/phonon/gstreamer/widgetrenderer.h | 17 ++-
17 src/3rdparty/phonon/gstreamer/x11renderer.cpp | 22 +---
18 7 files changed, 141 insertions(+), 133 deletions(-)
19
20diff --git a/src/3rdparty/phonon/gstreamer/abstractrenderer.h b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
21index 10a2822..fa0d87d 100644
22--- a/src/3rdparty/phonon/gstreamer/abstractrenderer.h
23+++ b/src/3rdparty/phonon/gstreamer/abstractrenderer.h
24@@ -49,6 +49,7 @@ public:
25 virtual bool eventFilter(QEvent *) = 0;
26 virtual void handlePaint(QPaintEvent *) {}
27 virtual bool paintsOnWidget() { return true; } // Controls overlays
28+ virtual void handleMove(QMoveEvent * event ) {};
29
30 protected:
31 VideoWidget *m_videoWidget;
32diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
33index 23a60c0..f806d64 100644
34--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
35+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
36@@ -515,6 +515,9 @@ void MediaObject::createPipeline()
37 // reduce buffer overruns as these are not gracefully handled at the moment.
38 m_audioPipe = gst_element_factory_make("queue", NULL);
39 g_object_set(G_OBJECT(m_audioPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
40+ g_object_set(G_OBJECT(m_audioPipe), "max-size-time", 0, (const char*)NULL);
41+ g_object_set(G_OBJECT(m_audioPipe), "max-size-buffers", 0, (const char*)NULL);
42+ g_object_set(G_OBJECT(m_audioPipe), "max-size-bytes", 0, (const char*)NULL);
43 gst_bin_add(GST_BIN(m_audioGraph), m_audioPipe);
44 GstPad *audiopad = gst_element_get_pad (m_audioPipe, "sink");
45 gst_element_add_pad (m_audioGraph, gst_ghost_pad_new ("sink", audiopad));
46@@ -527,6 +530,7 @@ void MediaObject::createPipeline()
47
48 m_videoPipe = gst_element_factory_make("queue", NULL);
49 g_object_set(G_OBJECT(m_videoPipe), "max-size-time", MAX_QUEUE_TIME, (const char*)NULL);
50+ g_object_set(G_OBJECT(m_videoPipe), "max-size-time", 33000, (const char*)NULL);
51 gst_bin_add(GST_BIN(m_videoGraph), m_videoPipe);
52 GstPad *videopad = gst_element_get_pad (m_videoPipe, "sink");
53 gst_element_add_pad (m_videoGraph, gst_ghost_pad_new ("sink", videopad));
54diff --git a/src/3rdparty/phonon/gstreamer/videowidget.cpp b/src/3rdparty/phonon/gstreamer/videowidget.cpp
55index a4c6f79..3682d3f 100644
56--- a/src/3rdparty/phonon/gstreamer/videowidget.cpp
57+++ b/src/3rdparty/phonon/gstreamer/videowidget.cpp
58@@ -83,50 +83,16 @@ void VideoWidget::setupVideoBin()
59 Q_ASSERT(m_videoBin);
60 gst_object_ref (GST_OBJECT (m_videoBin)); //Take ownership
61 gst_object_sink (GST_OBJECT (m_videoBin));
62-
63- //The videoplug element is the final element before the pluggable videosink
64- m_videoplug = gst_element_factory_make ("identity", NULL);
65-
66- //Colorspace ensures that the output of the stream matches the input format accepted by our video sink
67- m_colorspace = gst_element_factory_make ("ffmpegcolorspace", NULL);
68-
69- //Video scale is used to prepare the correct aspect ratio and scale.
70- GstElement *videoScale = gst_element_factory_make ("videoscale", NULL);
71-
72- //We need a queue to support the tee from parent node
73- GstElement *queue = gst_element_factory_make ("queue", NULL);
74-
75- if (queue && m_videoBin && videoScale && m_colorspace && videoSink && m_videoplug) {
76- //Ensure that the bare essentials are prepared
77- gst_bin_add_many (GST_BIN (m_videoBin), queue, m_colorspace, m_videoplug, videoScale, videoSink, (const char*)NULL);
78- bool success = false;
79- //Video balance controls color/sat/hue in the YUV colorspace
80- m_videoBalance = gst_element_factory_make ("videobalance", NULL);
81- if (m_videoBalance) {
82- // For video balance to work we have to first ensure that the video is in YUV colorspace,
83- // then hand it off to the videobalance filter before finally converting it back to RGB.
84- // Hence we nede a videoFilter to convert the colorspace before and after videobalance
85- GstElement *m_colorspace2 = gst_element_factory_make ("ffmpegcolorspace", NULL);
86- gst_bin_add_many(GST_BIN(m_videoBin), m_videoBalance, m_colorspace2, (const char*)NULL);
87- success = gst_element_link_many(queue, m_colorspace, m_videoBalance, m_colorspace2, videoScale, m_videoplug, videoSink, (const char*)NULL);
88- } else {
89- //If video balance is not available, just connect to sink directly
90- success = gst_element_link_many(queue, m_colorspace, videoScale, m_videoplug, videoSink, (const char*)NULL);
91- }
92-
93- if (success) {
94- GstPad *videopad = gst_element_get_pad (queue, "sink");
95- gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
96- gst_object_unref (videopad);
97-#ifndef Q_WS_QPA
98- QWidget *parentWidget = qobject_cast<QWidget*>(parent());
99- if (parentWidget)
100- parentWidget->winId(); // Due to some existing issues with alien in 4.4,
101- // we must currently force the creation of a parent widget.
102-#endif
103- m_isValid = true; //initialization ok, accept input
104- }
105- }
106+ gst_bin_add_many (GST_BIN (m_videoBin), videoSink, NULL);
107+ GstPad *videopad = gst_element_get_pad (videoSink,"sink");
108+ gst_element_add_pad (m_videoBin, gst_ghost_pad_new ("sink", videopad));
109+ gst_object_unref (videopad);
110+ QWidget *parentWidget = qobject_cast<QWidget*>(parent());
111+
112+ if (parentWidget)
113+ parentWidget->winId(); // Due to some existing issues with alien in 4.4,
114+ // we must currently force the creation of a parent widget.
115+ m_isValid = true; //initialization ok, accept input
116 }
117
118 void VideoWidget::paintEvent(QPaintEvent *event)
119@@ -135,6 +101,12 @@ void VideoWidget::paintEvent(QPaintEvent *event)
120 m_renderer->handlePaint(event);
121 }
122
123+void VideoWidget::moveEvent(QMoveEvent * event )
124+{
125+ Q_ASSERT(m_renderer);
126+ m_renderer->handleMove(event);
127+}
128+
129 void VideoWidget::setVisible(bool val) {
130 Q_ASSERT(m_renderer);
131
132diff --git a/src/3rdparty/phonon/gstreamer/videowidget.h b/src/3rdparty/phonon/gstreamer/videowidget.h
133index 8603f6a..38c7b17 100644
134--- a/src/3rdparty/phonon/gstreamer/videowidget.h
135+++ b/src/3rdparty/phonon/gstreamer/videowidget.h
136@@ -65,6 +65,7 @@ public:
137 qreal saturation() const;
138 void setSaturation(qreal);
139 void setMovieSize(const QSize &size);
140+ void moveEvent(QMoveEvent * event );
141 QSize sizeHint() const;
142 QRect scaleToAspect(QRect srcRect, int w, int h) const;
143 QRect calculateDrawFrameRect() const;
144diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
145index 423af9d..aa4925a 100644
146--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
147+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
148@@ -15,7 +15,9 @@
149 along with this library. If not, see <http://www.gnu.org/licenses/>.
150 */
151
152+#include <QMouseEvent>
153 #include <QtGui/QPainter>
154+#include <QPaintEvent>
155 #include <gst/gst.h>
156 #include "common.h"
157 #include "message.h"
158@@ -24,6 +26,18 @@
159 #include "widgetrenderer.h"
160 #include "qrgb.h"
161
162+#include <stdio.h>
163+#include <stdlib.h>
164+#include <errno.h>
165+#include <stdint.h>
166+#include <fcntl.h>
167+#include <sys/ioctl.h>
168+#include <unistd.h>
169+#include <linux/mxcfb.h>
170+
171+#define MXCFB_GBL_ALPHA 255
172+#define MXCFB_CLR_KEY 0x00000000 // ARGB8888
173+
174 // support old OpenGL installations (1.2)
175 // assume that if TEXTURE0 isn't defined, none are
176 #ifndef GL_TEXTURE0
177@@ -35,26 +49,6 @@
178 #ifndef QT_NO_PHONON_VIDEO
179 QT_BEGIN_NAMESPACE
180
181-static void frameRendered()
182-{
183- static QString displayFps = qgetenv("PHONON_GST_FPS");
184- if (displayFps.isEmpty())
185- return;
186-
187- static int frames = 0;
188- static QTime lastTime = QTime::currentTime();
189- QTime time = QTime::currentTime();
190-
191- int delta = lastTime.msecsTo(time);
192- if (delta > 2000) {
193- printf("FPS: %f\n", 1000.0 * frames / qreal(delta));
194- lastTime = time;
195- frames = 0;
196- }
197-
198- ++frames;
199-}
200-
201 namespace Phonon
202 {
203 namespace Gstreamer
204@@ -62,17 +56,11 @@ namespace Gstreamer
205
206 WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
207 : AbstractRenderer(videoWidget)
208- , m_width(0)
209- , m_height(0)
210 {
211- videoWidget->backend()->logMessage("Creating QWidget renderer");
212- if ((m_videoSink = GST_ELEMENT(g_object_new(get_type_RGB(), NULL)))) {
213- gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
214+ if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
215+
216+ gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
217 gst_object_sink (GST_OBJECT (m_videoSink));
218-
219- QWidgetVideoSinkBase* sink = reinterpret_cast<QWidgetVideoSinkBase*>(m_videoSink);
220- // Let the videosink know which widget to direct frame updates to
221- sink->renderWidget = videoWidget;
222 }
223
224 // Clear the background with black by default
225@@ -84,67 +72,124 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
226 m_videoWidget->setAttribute(Qt::WA_PaintOnScreen, false);
227 }
228
229-void WidgetRenderer::setNextFrame(const QByteArray &array, int w, int h)
230+WidgetRenderer::~WidgetRenderer()
231 {
232- if (m_videoWidget->root()->state() == Phonon::LoadingState)
233- return;
234-
235- m_frame = QImage();
236- {
237- m_frame = QImage((uchar *)array.constData(), w, h, QImage::Format_RGB32);
238- }
239+ if (m_videoSink) {
240+ gst_object_unref (GST_OBJECT (m_videoSink));
241+ m_videoSink = 0;
242+ }
243+}
244
245- m_array = array;
246- m_width = w;
247- m_height = h;
248+void WidgetRenderer::setVideoSize(void)
249+{
250
251- m_videoWidget->update();
252+ int adj_x;
253+ int adj_y;
254+
255+ QSize wSize = m_videoWidget->size();
256+ m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
257+ framePos = m_videoWidget->mapToGlobal(QPoint(0,0));
258+
259+ //Center the video in the widget
260+
261+ adj_x = (wSize.width()/2) - (m_drawFrameRect.width()/2);
262+ adj_y = (wSize.height()/2) - (m_drawFrameRect.height()/2);
263+ g_object_set(G_OBJECT(m_videoSink), "axis-left",adj_x + framePos.x(),(const char*)NULL);
264+ g_object_set(G_OBJECT(m_videoSink), "axis-top", adj_y + framePos.y(), (const char*)NULL);
265+ g_object_set(G_OBJECT(m_videoSink), "disp-width", m_drawFrameRect.width(), (const char*)NULL);
266+ g_object_set(G_OBJECT(m_videoSink), "disp-height", m_drawFrameRect.height(), (const char*)NULL);
267+ g_object_set(G_OBJECT(m_videoSink), "setpara", 1, (const char*)NULL);
268 }
269
270 void WidgetRenderer::handleMediaNodeEvent(const MediaNodeEvent *event)
271 {
272 switch (event->type()) {
273- case MediaNodeEvent::SourceChanged:
274- {
275- clearFrame();
276- break;
277- }
278 default:
279 break;
280 }
281 }
282
283-void WidgetRenderer::clearFrame()
284+void WidgetRenderer::handlePaint(QPaintEvent *event)
285 {
286- m_frame = QImage();
287- m_array = QByteArray();
288- m_videoWidget->update();
289+ Q_UNUSED(event);
290+ QPainter painter(m_videoWidget);
291+ painter.fillRect(m_videoWidget->rect(), m_videoWidget->palette().background());
292 }
293
294-const QImage &WidgetRenderer::currentFrame() const
295+int WidgetRenderer::setOverlay(void)
296 {
297- return m_frame;
298+ struct mxcfb_color_key color_key;
299+ struct mxcfb_gbl_alpha alpha;
300+ int fd_fb;
301+
302+ if ((fd_fb = open("/dev/fb0", O_RDWR, 0)) < 0)
303+ {
304+ printf("Unable to open %s\n", "/dev/fb0");
305+ return -1;
306+
307+ }
308+
309+ alpha.alpha = MXCFB_GBL_ALPHA;
310+ alpha.enable = 1;
311+
312+ if (ioctl(fd_fb, MXCFB_SET_GBL_ALPHA, &alpha) < 0) {
313+ printf("Error in applying Alpha\n");
314+ }
315+
316+ color_key.color_key = MXCFB_CLR_KEY & 0x00FFFFFF;
317+ color_key.enable = 1;
318+ if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &color_key) < 0) {
319+
320+ printf("Error in applying Color Key\n");
321+ return -1;
322+ }
323+
324+ close (fd_fb);
325+
326+ return 0;
327 }
328
329-void WidgetRenderer::handlePaint(QPaintEvent *event)
330+void WidgetRenderer::handleMove( QMoveEvent * event)
331 {
332- Q_UNUSED(event);
333- QPainter painter(m_videoWidget);
334- m_drawFrameRect = m_videoWidget->calculateDrawFrameRect();
335- painter.drawImage(drawFrameRect(), currentFrame());
336- frameRendered();
337+ Q_UNUSED(event);
338+
339+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
340+ setVideoSize();
341 }
342
343 bool WidgetRenderer::eventFilter(QEvent * event)
344 {
345- if (event->type() == QEvent::User) {
346- NewFrameEvent *frameEvent= static_cast <NewFrameEvent *>(event);
347- setNextFrame(frameEvent->frame, frameEvent->width, frameEvent->height);
348- return true;
349+ if (event->type() == QEvent::Show) {
350+
351+ setOverlay();
352+ return true;
353+
354+ } else if (event->type() == QEvent::Resize) {
355+
356+ setVideoSize();
357+ return true;
358 }
359+ if (framePos != m_videoWidget->mapToGlobal(QPoint(0,0)))
360+ setVideoSize();
361 return false;
362 }
363
364+void WidgetRenderer::aspectRatioChanged(Phonon::VideoWidget::AspectRatio)
365+{
366+ setVideoSize();
367+}
368+
369+void WidgetRenderer::scaleModeChanged(Phonon::VideoWidget::ScaleMode)
370+{
371+ setVideoSize();
372+}
373+
374+void WidgetRenderer::movieSizeChanged(const QSize &movieSize)
375+{
376+ Q_UNUSED(movieSize);
377+ setVideoSize();
378+}
379+
380 }
381 } //namespace Phonon::Gstreamer
382
383diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.h b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
384index 03ee9c0..6de1a03 100644
385--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.h
386+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.h
387@@ -40,20 +40,21 @@ class WidgetRenderer : public AbstractRenderer
388 {
389 public:
390 WidgetRenderer(VideoWidget *videoWidget);
391+ ~WidgetRenderer(void);
392 bool eventFilter(QEvent * event);
393 void handlePaint(QPaintEvent *paintEvent);
394 void handleMediaNodeEvent(const MediaNodeEvent *event);
395- const QImage& currentFrame() const;
396 QRect drawFrameRect() const { return m_drawFrameRect; }
397- void setNextFrame(const QByteArray &array, int width, int height);
398- bool frameIsSet() { return !m_array.isNull(); }
399- void clearFrame();
400+ void aspectRatioChanged(Phonon::VideoWidget::AspectRatio aspectRatio);
401+ void scaleModeChanged(Phonon::VideoWidget::ScaleMode scaleMode);
402+ void movieSizeChanged(const QSize &movieSize);
403+ void setVideoSize(void);
404+ int setOverlay(void);
405+ void handleMove(QMoveEvent* event);
406 private:
407- mutable QImage m_frame;
408- QByteArray m_array;
409- int m_width;
410- int m_height;
411+ void paintEvent ( QPaintEvent * event );
412 QRect m_drawFrameRect;
413+ QPoint framePos;
414 };
415
416 }
417diff --git a/src/3rdparty/phonon/gstreamer/x11renderer.cpp b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
418index 968f3a8..c4662e7 100644
419--- a/src/3rdparty/phonon/gstreamer/x11renderer.cpp
420+++ b/src/3rdparty/phonon/gstreamer/x11renderer.cpp
421@@ -31,6 +31,8 @@
422 #include "mediaobject.h"
423 #include "message.h"
424
425+#define FSL_GSTREAMER 1
426+
427 QT_BEGIN_NAMESPACE
428
429 namespace Phonon
430@@ -78,31 +80,16 @@ X11Renderer::~X11Renderer()
431 {
432 m_renderWidget->setAttribute(Qt::WA_PaintOnScreen, false);
433 m_renderWidget->setAttribute(Qt::WA_NoSystemBackground, false);
434+ if (m_videoSink) {
435+ gst_object_unref (GST_OBJECT (m_videoSink));
436+ }
437 delete m_renderWidget;
438 }
439
440 GstElement* X11Renderer::createVideoSink()
441 {
442- GstElement *videoSink = gst_element_factory_make ("xvimagesink", NULL);
443- if (videoSink) {
444- // Check if the xv sink is usable
445- if (gst_element_set_state(videoSink, GST_STATE_READY) != GST_STATE_CHANGE_SUCCESS) {
446- gst_object_unref(GST_OBJECT(videoSink));
447- videoSink = 0;
448- } else {
449- // Note that this should not really be necessary as these are
450- // default values, though under certain conditions values are retained
451- // even between application instances. (reproducible on 0.10.16/Gutsy)
452- g_object_set(G_OBJECT(videoSink), "brightness", 0, (const char*)NULL);
453- g_object_set(G_OBJECT(videoSink), "contrast", 0, (const char*)NULL);
454- g_object_set(G_OBJECT(videoSink), "hue", 0, (const char*)NULL);
455- g_object_set(G_OBJECT(videoSink), "saturation", 0, (const char*)NULL);
456- }
457- }
458-
459- if (!videoSink)
460- videoSink = gst_element_factory_make ("ximagesink", NULL);
461
462+ GstElement *videoSink = gst_element_factory_make ("mfw_v4lsink", NULL);
463 gst_object_ref (GST_OBJECT (videoSink)); //Take ownership
464 gst_object_sink (GST_OBJECT (videoSink));
465
466--
4671.7.1
468
diff --git a/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch b/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
new file mode 100644
index 0000000..0226db5
--- /dev/null
+++ b/recipes-qt/qt4/qt4/0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch
@@ -0,0 +1,46 @@
1From 023befba9aad60ef58177fd987a6aa40c357b2b2 Mon Sep 17 00:00:00 2001
2From: Eric Nelson <eric.nelson@boundarydevices.com>
3Date: Fri, 16 Aug 2013 11:42:23 -0700
4Subject: [PATCH] i.MX video renderer: Allow v4l device from environment
5
6The i.MX6 supports multiple IPUs and multiple V4L2 output
7devices for each.
8
9Devices are numbered starting with /dev/video16 and defined
10for each configured display. In general, /dev/video16 will
11correspond to the RGB (background) layer for /dev/fb0.
12If a display is the first on an IPU, an additional V4L2
13output will be defined that corresponds to the normally
14YUV overlay (foreground) layer.
15
16This patch allows association of the proper device for
17a particular session for use in multi-headed applications.
18The default is /dev/video17:
19 export v4lsinkdev=/dev/video17
20
21Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
22---
23 src/3rdparty/phonon/gstreamer/widgetrenderer.cpp | 5 ++++-
24 1 file changed, 4 insertions(+), 1 deletion(-)
25
26diff --git a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
27index aa4925a..a502ccd 100644
28--- a/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
29+++ b/src/3rdparty/phonon/gstreamer/widgetrenderer.cpp
30@@ -58,9 +58,12 @@ WidgetRenderer::WidgetRenderer(VideoWidget *videoWidget)
31 : AbstractRenderer(videoWidget)
32 {
33 if ((m_videoSink = gst_element_factory_make("mfw_v4lsink", NULL)) && m_videoSink != NULL) {
34-
35+ char *videodev;
36 gst_object_ref (GST_OBJECT (m_videoSink)); //Take ownership
37 gst_object_sink (GST_OBJECT (m_videoSink));
38+ videodev=getenv("v4lsinkdev");
39+ if (videodev)
40+ g_object_set (G_OBJECT (m_videoSink), "device", videodev, NULL);
41 }
42
43 // Clear the background with black by default
44--
451.8.1.2
46
diff --git a/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch b/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
new file mode 100644
index 0000000..9aa158d
--- /dev/null
+++ b/recipes-qt/qt4/qt4/0003-i.MX6-force-egl-visual-ID-33.patch
@@ -0,0 +1,35 @@
1From: Javier Viguera <javier.viguera@digi.com>
2Date: Mon, 3 Mar 2014 17:10:41 +0100
3Subject: [PATCH] i.MX6: force egl visual ID 33
4
5Workaround mismatch between EGL binary libraries and QT for FSL MX6
6based platforms.
7
8Error:
9Warning: EGL suggested using X Visual ID 33 (ARGB0888) for EGL config 28 (ARGB0444), but this is incompatable
10Unable to find an X11 visual which matches EGL config 28
11
12Patch adapted from:
13
14http://wiki.wandboard.org/index.php/Integrate_Qt5_into_yocto_sato_image_on_Wandboard
15
16Upstream-Status: Inappropriate [workaround]
17
18Signed-off-by: Javier Viguera <javier.viguera@digi.com>
19---
20 src/gui/egl/qegl_x11.cpp | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/src/gui/egl/qegl_x11.cpp b/src/gui/egl/qegl_x11.cpp
24index 196d0f77bf2d..8acf5a6c99d4 100644
25--- a/src/gui/egl/qegl_x11.cpp
26+++ b/src/gui/egl/qegl_x11.cpp
27@@ -319,7 +319,7 @@ VisualID QEgl::getCompatibleVisualId(EGLConfig config)
28 }
29
30 qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
31- return (VisualID)0;
32+ return (VisualID)33;
33 }
34
35 void qt_set_winid_on_widget(QWidget* w, Qt::HANDLE id)
diff --git a/recipes-qt/qt4/qt4/mx6/g++.conf b/recipes-qt/qt4/qt4/mx6/g++.conf
new file mode 100644
index 0000000..4a4729e
--- /dev/null
+++ b/recipes-qt/qt4/qt4/mx6/g++.conf
@@ -0,0 +1,56 @@
1#
2# qmake configuration for common gcc
3#
4
5QMAKE_CC = $(OE_QMAKE_CC)
6QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) -DLINUX=1 -DEGL_API_FB=1
7QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
8QMAKE_CFLAGS_DEPS += -M
9QMAKE_CFLAGS_WARN_ON += -Wall -W
10QMAKE_CFLAGS_WARN_OFF += -w
11QMAKE_CFLAGS_RELEASE +=
12QMAKE_CFLAGS_DEBUG += -g
13QMAKE_CFLAGS_SHLIB += -fPIC
14QMAKE_CFLAGS_STATIC_LIB += -fPIC
15QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
16QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
17QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
18QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}
19
20QMAKE_CXX = $(OE_QMAKE_CXX)
21QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS)
22QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS
23QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON
24QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF
25QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE
26QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
27QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG
28QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB
29QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
30QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC
31QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
32QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
33QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
34
35QMAKE_LINK = $(OE_QMAKE_LINK)
36QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
37QMAKE_LINK_C = $(OE_QMAKE_LINK)
38QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
39QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
40QMAKE_LFLAGS_RELEASE +=
41QMAKE_LFLAGS_DEBUG +=
42QMAKE_LFLAGS_APP +=
43QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined
44QMAKE_LFLAGS_RPATH = -Wl,-rpath-link,
45
46QMAKE_PCH_OUTPUT_EXT = .gch
47
48# -Bsymbolic-functions (ld) support
49QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
50QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
51
52# some linking helper...
53CONFIG += rpath_libdirs
54
55# for the SDK
56isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
diff --git a/recipes-qt/qt4/qt4/mx6/linux.conf b/recipes-qt/qt4/qt4/mx6/linux.conf
new file mode 100644
index 0000000..c644d8b
--- /dev/null
+++ b/recipes-qt/qt4/qt4/mx6/linux.conf
@@ -0,0 +1,66 @@
1#
2# qmake configuration for common linux
3#
4
5QMAKE_CFLAGS_THREAD += -D_REENTRANT
6QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD
7
8QMAKE_INCDIR =
9QMAKE_LIBDIR =
10QMAKE_INCDIR_X11 =
11QMAKE_LIBDIR_X11 =
12QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT)
13QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT)
14QMAKE_INCDIR_OPENGL =
15QMAKE_LIBDIR_OPENGL =
16QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL
17QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL
18QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
19QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
20QMAKE_INCDIR_EGL =
21QMAKE_LIBDIR_EGL =
22QMAKE_INCDIR_OPENVG =
23QMAKE_LIBDIR_OPENVG =
24
25
26QMAKE_LIBS =
27QMAKE_LIBS_DYNLOAD = -ldl
28QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11)
29QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM)
30QMAKE_LIBS_NIS = -lnsl
31QMAKE_LIBS_EGL = -lEGL -lGAL -DLINUX=1 -DEGL_API_FB=1
32QMAKE_LIBS_OPENGL = -lGL
33QMAKE_LIBS_OPENGL_QT = -lGL
34QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM
35QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
36QMAKE_LIBS_OPENVG = -lOpenVG -lGAL -lEGL -DLINUX=1 -DEGL_API_FB=1
37QMAKE_LIBS_THREAD = -lpthread
38
39QMAKE_MOC = $(OE_QMAKE_MOC)
40QMAKE_UIC = $(OE_QMAKE_UIC)
41QMAKE_UIC3 = $(OE_QMAKE_UIC3)
42QMAKE_RCC = $(OE_QMAKE_RCC)
43QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
44QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
45
46QMAKE_AR = $(OE_QMAKE_AR) cqs
47QMAKE_OBJCOPY = objcopy
48QMAKE_RANLIB =
49
50QMAKE_TAR = tar -cf
51QMAKE_GZIP = gzip -9f
52
53QMAKE_COPY = cp -f
54QMAKE_COPY_FILE = $(COPY)
55QMAKE_COPY_DIR = $(COPY) -r
56QMAKE_MOVE = mv -f
57QMAKE_DEL_FILE = rm -f
58QMAKE_DEL_DIR = rmdir
59QMAKE_STRIP = $(OE_QMAKE_STRIP)
60QMAKE_STRIPFLAGS_LIB += --strip-unneeded
61QMAKE_CHK_DIR_EXISTS = test -d
62QMAKE_MKDIR = mkdir -p
63QMAKE_INSTALL_FILE = install -m 644 -p
64QMAKE_INSTALL_PROGRAM = install -m 755 -p
65
66include(unix.conf)
diff --git a/scripts/get-maintainer b/scripts/get-maintainer
new file mode 100755
index 0000000..071cdf6
--- /dev/null
+++ b/scripts/get-maintainer
@@ -0,0 +1,107 @@
1#!/bin/sh
2# -*- mode: shell-script; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3#
4# Copyright (C) 2014 O.S. Systems Software LTDA.
5# Authored-by: Otavio Salvador <otavio@ossystems.com.br>
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License version 2 as
9# published by the Free Software Foundation.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License along
17# with this program; if not, write to the Free Software Foundation, Inc.,
18# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20usage() {
21 cat<<EOF
22Usage:
23
24 $0 [ --machine=<machine> ] <path> ...
25
26 <path>
27 Directory(ies) where to look for machine definition files.
28
29 Options:
30
31 --machine=<machine>
32 Optional param to restrict the printing for a specific machine name.
33
34 --dump
35 Generate output in a format which is easier to parse. Columns
36 are separated by TAB. Empty cells for the "Maintainer" column
37 represent "no maintainer".
38
39EOF
40}
41
42path=
43specific_machine=
44dump_mode=
45
46for opt in ${*}; do
47 if [ "`echo $opt | cut -b-10`" = "--machine=" ]; then
48 specific_machine="`echo $opt | cut -b11-`"
49 elif [ "$opt" = "--dump" ]; then
50 dump_mode=1
51 else
52 path="$path $opt"
53 fi
54done
55
56if [ -z "$path" ]; then
57 usage
58 exit 1
59fi
60
61maintained=`mktemp`
62orphan=`mktemp`
63
64machines=`find $path -wholename '*/conf/machine/*.conf'`
65for m in $machines; do
66 machine=`basename $m | sed 's,\.conf$,,g'`
67 if [ -n "$specific_machine" ] && [ "$machine" != "$specific_machine" ]; then
68 continue
69 fi
70
71 name=`sed -n 's,#@NAME:\s*\(.*\)\s*,\1,p' $m`
72 maint=`sed -n 's,#@MAINTAINER:\s*\(.*\)\s*,\1,p' $m`
73
74 if [ -n "$dump_mode" ]; then
75 if [ -n "$maint" ]; then
76 printf "${machine}\t${name}\t${maint}\n" >> $maintained
77 else
78 printf "${machine}\t${name}\n" >> $orphan
79 fi
80 else
81 if [ -n "$maint" ]; then
82 printf "%-25s %-50s %-50s\n" "$machine" "$name" "$maint" >> $maintained
83 else
84 printf "%-25s %-50s %-50s\n" "$machine" "$name" "Orphan" >> $orphan
85 fi
86 fi
87done
88
89display() {
90 sort -u -k 2 $maintained | grep -v $^
91 sort -u -k 2 $orphan | grep -v $^
92}
93
94if [ -n "$dump_mode" ]; then
95 display
96else
97 cat <<EOF
98========================= ================================================== ==================================================
99 Machine Name Maintainer
100========================= ================================================== ==================================================
101EOF
102 display
103 cat <<EOF
104========================= ================================================== ==================================================
105EOF
106fi
107rm $maintained $orphan