aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonan <ronan.lemartret@iot.bzh>2017-01-20 16:57:00 +0100
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2017-01-26 14:15:04 +0000
commit5334d458c46533c51bc6879b1026181f9ac453ae (patch)
treee076c0f6663f08e20b9ba4a3c738a8b883a978f0
parented80d741150b6f29d72f028651ab0ab83734a2b9 (diff)
Move feature code into the meta recipes
* Having a minimlal local.conf serving the only purpose of user customization is the "Yocto" way of doing things * After a source synchronization (repo sync), feature code must be update without regenerate local.conf Change-Id: I0bb0861f4c07a8b57cb59a03f6ffe9d2d693cbbe Signed-off-by: Ronan <ronan.lemartret@iot.bzh>
-rw-r--r--meta-agl-bsp/conf/include/agl_dra7xx-evm.inc60
-rw-r--r--meta-agl-bsp/conf/include/agl_h3ulcb.inc47
-rw-r--r--meta-agl-bsp/conf/include/agl_intel-corei7-64.inc25
-rw-r--r--meta-agl-bsp/conf/include/agl_joule.inc10
-rw-r--r--meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc11
-rw-r--r--meta-agl-bsp/conf/include/agl_m3ulcb.inc47
-rw-r--r--meta-agl-bsp/conf/include/agl_porter-nogfx.inc28
-rw-r--r--meta-agl-bsp/conf/include/agl_porter.inc188
-rw-r--r--meta-agl-bsp/conf/include/agl_qemux86-64.inc23
-rw-r--r--meta-agl-bsp/conf/include/agl_qemux86.inc23
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi2.inc46
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi3.inc46
-rw-r--r--meta-agl/conf/include/agl-devel.inc9
-rw-r--r--meta-agl/conf/include/base-agl.inc14
-rw-r--r--meta-agl/recipes-devtools/packagegroups/packagegroup-agl-devel.bb21
-rw-r--r--meta-netboot/conf/include/agl-netboot.inc5
-rw-r--r--templates/base/00_local.conf.agl.inc16
-rw-r--r--templates/feature/agl-devel/50_local.conf.inc25
-rw-r--r--templates/feature/agl-netboot/50_local.conf.inc7
-rw-r--r--templates/machine/dra7xx-evm/50_local.conf.inc62
-rw-r--r--templates/machine/h3ulcb/50_local.conf.inc48
-rw-r--r--templates/machine/intel-corei7-64/50_local.conf.inc28
-rw-r--r--templates/machine/joule/50_local.conf.inc12
-rw-r--r--templates/machine/m3ulcb-nogfx/50_local.conf.inc13
-rw-r--r--templates/machine/m3ulcb/50_local.conf.inc49
-rw-r--r--templates/machine/porter-nogfx/50_local.conf.inc29
-rw-r--r--templates/machine/porter/50_local.conf.inc195
-rw-r--r--templates/machine/qemux86-64/50_local.conf.inc25
-rw-r--r--templates/machine/qemux86/50_local.conf.inc25
-rw-r--r--templates/machine/raspberrypi2/50_local.conf.inc49
-rw-r--r--templates/machine/raspberrypi3/50_local.conf.inc49
31 files changed, 633 insertions, 602 deletions
diff --git a/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc b/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc
new file mode 100644
index 000000000..5e0d0e622
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc
@@ -0,0 +1,60 @@
+
+#-------------------------------------------------
+## Graphics section ##
+#-------------------------------------------------
+PACKAGES_GFX_${MACHINE} = "omapdrm-pvr"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " sgx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+DEPENDS_remove = "virtual/libgl"
+
+# Preferred providers
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
+PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
+PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
+PREFERRED_PROVIDER_libgbm = "libgbm"
+
+#Preferred versions
+PREFERRED_VERSION_libgbm = "10.0.0"
+
+#-------------------------------------------------
+## Multimedia section ##
+#-------------------------------------------------
+
+GSTREAMER_PLUGINS = " \
+ "
+# Disable due to broken build in morty
+# gstreamer1.0-plugins-bad-meta \
+# gstreamer1.0-plugins-ducati \
+# gstreamer1.0-plugins-vpe \
+#"
+
+PACKAGES_MULTIMEDIA = " \
+ ipumm-fw \
+ pulseaudio-misc \
+ ${GSTREAMER_PLUGINS} \
+"
+
+PREFERRED_VERSION_ipumm-fw = "3.00.08.02"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
+PREFERRED_VERSION_virtual/kernel = "4.4"
+
+# Distribution-specific runtime components
+IMAGE_INSTALL_append = " \
+ ${PACKAGES_GFX} \
+ ${PACKAGES_MULTIMEDIA} \
+ cmem \
+"
+
+## ATTENTION, this is needed right now to build meta-ti with AGL: ##
+## due to meta-ti being based on YP 1.8 instead of YP 2.0
+BBMASK = "meta-ti/.*eudev"
+
+
+
+IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-dra7xx-evm-ota"
+IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'dra7xx-evm-sdimg-ota ', '', d)}"
diff --git a/meta-agl-bsp/conf/include/agl_h3ulcb.inc b/meta-agl-bsp/conf/include/agl_h3ulcb.inc
new file mode 100644
index 000000000..05e06d17b
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_h3ulcb.inc
@@ -0,0 +1,47 @@
+SOC_FAMILY = "r8a7795"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
+
+# Mask the gstreamer recipe for MMP
+BBMASK = "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+PREFERRED_VERSION_gstreamer1.0-libav = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-base = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-bad = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-good = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-ugly = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-vspfilter = "1.0%"
+
+MACHINE_FEATURES_append = " multimedia"
+
+DISTRO_FEATURES_append = " use_eva_pkg"
+
+#DISTRO_FEATURES_append = " h265dec_lib mpeg2dec_lib"
+DISTRO_FEATURES_append = " h264dec_lib aaclcdec_lib aaclcdec_mdw"
+
+DISTRO_FEATURES_BACKFILL_remove = "gobject-introspection-data"
+
+IMAGE_INSTALL_append_rcar-gen3 = " \
+ kernel-module-pvrsrvkm \
+ kernel-module-vsp2 \
+ kernel-module-vspm-if \
+ omx-user-module \
+ weston-bin \
+"
diff --git a/meta-agl-bsp/conf/include/agl_intel-corei7-64.inc b/meta-agl-bsp/conf/include/agl_intel-corei7-64.inc
new file mode 100644
index 000000000..cde65fda8
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_intel-corei7-64.inc
@@ -0,0 +1,25 @@
+# Configurations to run on VirtualBox/VMWare
+#
+# To get wide screen than default, there are a selection of resolutions
+# available:
+#
+#APPEND += "uvesafb.mode_option=1024x768-32"
+#APPEND += "uvesafb.mode_option=1280x1024-32"
+#APPEND += "uvesafb.mode_option=1600x1200-32"
+#
+# To avoid corrupt boot screen by systemd message, you can use serial
+# console separated from VGA console or disable all boot messages by
+# kernel command line.
+#
+# Configuration for serial console
+#APPEND += "console=ttyS0,115200n8"
+#
+# All boot message will be off
+#APPEND += "quiet"
+
+# Enable Libvaapi for HW accelerated video support
+#
+IMAGE_INSTALL_append = " \
+ libva \
+ va-intel \
+ gstreamer-vaapi-1.0 "
diff --git a/meta-agl-bsp/conf/include/agl_joule.inc b/meta-agl-bsp/conf/include/agl_joule.inc
new file mode 100644
index 000000000..151f93c2a
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_joule.inc
@@ -0,0 +1,10 @@
+INTEL_MACHINE_SUBTYPE = "broxton-m"
+PREFERRED_VERSION_linux-yocto_intel-corei7-64 ?= "4.4%"
+
+APPEND += "console=ttyS2,115200n8 video=efifb maxcpus=4 noxsave reboot=efi kmemleak=off"
+
+IMAGE_INSTALL_append = " linux-firmware-iwlwifi-8000c linux-firmware-ibt-11-5"
+IMAGE_INSTALL_append = " \
+ libva \
+ va-intel \
+ gstreamer-vaapi-1.0 "
diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
new file mode 100644
index 000000000..c2e7ad23f
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
@@ -0,0 +1,11 @@
+SOC_FAMILY = "r8a7796"
+
+IMAGE_INSTALL_append = " \
+ weston-bin \
+"
+
+# Mask graphic Pkgs
+BBMASK = "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs|omx-user-module"
+
diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb.inc b/meta-agl-bsp/conf/include/agl_m3ulcb.inc
new file mode 100644
index 000000000..5852b6f06
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_m3ulcb.inc
@@ -0,0 +1,47 @@
+SOC_FAMILY = "r8a7796"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
+
+# Mask the gstreamer recipe for MMP
+BBMASK = "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+PREFERRED_VERSION_gstreamer1.0-libav = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-base = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-bad = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-good = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-ugly = "1.4.5"
+PREFERRED_VERSION_gstreamer1.0-plugins-vspfilter = "1.0%"
+
+MACHINE_FEATURES_append = " multimedia"
+
+DISTRO_FEATURES_append = " use_eva_pkg"
+
+#DISTRO_FEATURES_append = " h265dec_lib mpeg2dec_lib"
+DISTRO_FEATURES_append = " h264dec_lib aaclcdec_lib aaclcdec_mdw"
+
+DISTRO_FEATURES_BACKFILL_remove = "gobject-introspection-data"
+
+IMAGE_INSTALL_append_rcar-gen3 = " \
+ kernel-module-pvrsrvkm \
+ kernel-module-vsp2 \
+ kernel-module-vspm-if \
+ omx-user-module \
+ weston-bin \
+"
diff --git a/meta-agl-bsp/conf/include/agl_porter-nogfx.inc b/meta-agl-bsp/conf/include/agl_porter-nogfx.inc
new file mode 100644
index 000000000..6bc517191
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_porter-nogfx.inc
@@ -0,0 +1,28 @@
+MACHINE = "porter"
+
+# For Bluetooth hardware support
+BT_KERNEL_MODULES = " \
+ kernel-module-btusb \
+ kernel-module-bnep \
+ kernel-module-rfcomm \
+ kernel-module-rfkill \
+ "
+
+# Distribution-specific runtime components
+IMAGE_INSTALL_append = " \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BT_KERNEL_MODULES}", "", d)} \
+ "
+
+# Setting for u-boot Wayland
+UBOOT_MACHINE = "porter_vin_config"
+
+PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
+PREFERRED_PROVIDER_virtual/egl = "mesa"
+
+# Commit united image to OSTree, not just uImage
+OSTREE_KERNEL = "uImage+dtb"
+
+# OTA-enabled live image
+IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-porter-ota"
+IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'porter-sdimg-ota ', '', d)}"
+
diff --git a/meta-agl-bsp/conf/include/agl_porter.inc b/meta-agl-bsp/conf/include/agl_porter.inc
new file mode 100644
index 000000000..a3f2aac5a
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_porter.inc
@@ -0,0 +1,188 @@
+
+# For running GStreamer on wayland (experimental).
+#
+# Uncoment below if want to use multimedia acceleration on wayland
+#
+IMAGE_INSTALL_append_porter = " \
+ gstreamer1.0-plugins-bad-waylandsink \
+ "
+
+# Additional plugins to test multimedia acceleration (experimental)
+#
+# Uncoment below if want to use multimedia acceleration
+#
+IMAGE_INSTALL_append_porter = " \
+ gstreamer1.0-plugins-base-videorate \
+ gstreamer1.0-plugins-base-videotestsrc \
+ gstreamer1.0-plugins-base-audiotestsrc \
+ gstreamer1.0-plugins-base-alsa \
+ gstreamer1.0-plugins-good-autodetect \
+ gstreamer1.0-plugins-good-isomp4 \
+ gstreamer1.0-plugins-good-videocrop \
+ gstreamer1.0-plugins-bad-asfmux \
+ gstreamer1.0-plugins-bad-fbdevsink \
+ gstreamer1.0-plugins-bad-faad \
+ gstreamer1.0-plugins-bad-videoparsersbad \
+"
+# gstreamer1.0-plugins-good-video4linux2 (temp disabled)
+
+# for graphics acceleration
+#
+# Uncoment below if want to use multimedia acceleration
+#
+IMAGE_INSTALL_append_porter = " \
+ libegl libegl-dev libgbm-dev \
+ gles-kernel-module gles-user-module \
+ libdrm-tests \
+ libdrm-kms \
+ "
+
+# for multimedia acceleration
+#
+# Uncoment below if want to use multimedia acceleration
+#
+IMAGE_INSTALL_append_porter = " \
+ packagegroup-rcar-gen2-multimedia \
+ packagegroup-lcb-oss-codecs \
+ alsa-utils alsa-utils-config alsa-tools \
+"
+
+IMAGE_INSTALL_append_porter = " \
+ gles-kernel-module \
+ libegl \
+ libgbm-dev \
+ "
+
+# For Bluetooth hardware support
+BT_KERNEL_MODULES = " \
+ kernel-module-btusb \
+ kernel-module-bnep \
+ kernel-module-rfcomm \
+ kernel-module-rfkill \
+ "
+
+# Distribution-specific runtime components
+IMAGE_INSTALL_append = " \
+ ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BT_KERNEL_MODULES}", "", d)} \
+ "
+
+# TODO: When booting weston, someone try to load 'libgbm_kms.so' then
+# fail to boot. It should be 'libgbm_kms.so.1'.
+# Tentatively, it is to install 'libgbm-dev' pkg.
+#IMAGE_INSTALL_append = "libgbm-dev"
+# this is not recommended and should be done in the recipe requiring this module (gles-user-module)
+
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Define the name of multimedia, dtv, graphic test, multimedia-test for bbmask
+BB_MULTIMEDIA_KERNEL_MODULE = "fdpm-kernel-module|mmngr-kernel-module|mmngrbuf-kernel-module|s3ctl-kernel-module|uvcs-kernel-module|vspm-kernel-module"
+BB_MULTIMEDIA_USER_MODULE = "fdpm-user-module|mmngr-user-module|mmngrbuf-user-module|omx-user-module|s3ctl-user-module|vspm-user-module|libmemcpy"
+BB_MULTIMEDIA_TEST_MODULE = "fdpm-tp-user-module|mmngr-tp-user-module|mmngrbuf-tp-user-module|s3ctl-tp-user-module|vspm-tp-user-module"
+
+BB_GST_PLUGINS = "meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer"
+MULTIMEDIA_BB = "${BB_MULTIMEDIA_KERNEL_MODULE}|${BB_MULTIMEDIA_USER_MODULE}|\
+ ${BB_MULTIMEDIA_TEST_MODULE}|${BB_GST_PLUGINS}"
+
+# Enable Multimedia standard pkg
+MACHINE_FEATURES_append = " multimedia"
+
+# UnMask the multimedia kernel modules
+#BBMASK .= "|${BB_MULTIMEDIA_KERNEL_MODULE}"
+
+# UnMask the multimedia user modules
+#BBMASK .= "|${BB_MULTIMEDIA_USER_MODULE}"
+
+# Include static library in SDK
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Mask the DTV pkgs
+#MACHINE_FEATURES_append = " dtv"
+BBMASK = "dtv-module|ssp-module|scu-module"
+
+# Enable graphic pkgs
+#BBMASK .= "|gles-kernel-module|gles-user-module"
+
+# Mask the multimedia-test
+BBMASK .= "|${BB_MULTIMEDIA_TEST_MODULE}"
+
+# Mask the graphic test
+BBMASK .= "|gles-test-module"
+
+#DISTRO_FEATURES_append = " mm-test"
+#DISTRO_FEATURES_append = " gles-test"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " sgx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
+
+# Setting for u-boot Wayland
+UBOOT_MACHINE = "porter_vin_config"
+
+# Addtional Configurations of Optional OMX modules
+
+# OMX Media Component H263 Decoder Library
+#DISTRO_FEATURES_append = " h263dec_lib"
+# OMX Media Component VC-1 Decoder Library
+#DISTRO_FEATURES_append = " vc1dec_lib"
+# OMX Media Component MPEG-4 Decoder Library
+#DISTRO_FEATURES_append = " mpeg4dec_lib"
+# VCP3 Driver Adapted for Linux MPEG-2 Decoder Library
+#DISTRO_FEATURES_append = " mpeg2dec_lib"
+# DivX Decoder Library for Linux
+#DISTRO_FEATURES_append = " divxdec_lib"
+# Encoder Library for Linux
+DISTRO_FEATURES_append = " h264avcenc_lib"
+
+# Configurations of Optional Audio Decoders
+# ARM 5.1ch aacPlus V2 Decoder for Linux
+#DISTRO_FEATURES_append = " aacp2dec_lib"
+# ARM MP3 Decoder for Linux
+#DISTRO_FEATURES_append = " mp3dec_lib"
+# ARM WMA Decoder for Linux
+#DISTRO_FEATURES_append = " wmadec_lib"
+# ARM 5.1ch Dolby Digital Decoder for Linux
+#DISTRO_FEATURES_append = " ddddec_lib"
+# ARM ALAC Decoder for Linux
+#DISTRO_FEATURES_append = " alacdec_lib"
+# ARM FLAC Decoder for Linux
+#DISTRO_FEATURES_append = " flacdec_lib"
+# ARM AAC-LC Decoder Library Sample for Linux
+#DISTRO_FEATURES_append = " aaclcsdec_lib"
+# ARM AAC Encoder for Linux
+#DISTRO_FEATURES_append = " aacenc_lib"
+
+# Configurations of Optional Audio Middlewares
+# ARM 5.1ch aacPlus V2 Decode Middleware for Linux
+#DISTRO_FEATURES_append = " armaccp2dec_mdw"
+# ARM MP3 Decode Middleware for Linux
+#DISTRO_FEATURES_append = " mp3dec_mdw"
+# ARM WMA Decode Middleware for Linux
+#DISTRO_FEATURES_append = " wmadec_mdw"
+# ARM 5.1ch Dolby Digital Decode Middleware for Linux
+#DISTRO_FEATURES_append = " ddddec_mdw"
+# ARM ALAC Decode Middleware for Linux
+#DISTRO_FEATURES_append = " alacdec_mdw"
+# ARM FLAC Decode Middleware for Linux
+#DISTRO_FEATURES_append = " flacdec_mdw"
+# ARM AAC Decode Middleware Sample for Linux
+#DISTRO_FEATURES_append = " aacsdec_mdw"
+# ARM AAC Encode Middleware for Linux
+#DISTRO_FEATURES_append = " aacenc_mdw"
+
+# Commit united image to OSTree, not just uImage
+OSTREE_KERNEL = "uImage+dtb"
+
+# OTA-enabled live image
+IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-porter-ota"
+IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'porter-sdimg-ota ', '', d)}"
+
diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
new file mode 100644
index 000000000..81015e076
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
@@ -0,0 +1,23 @@
+
+# Configurations to run on VirtualBox/VMWare
+#
+# To get wide screen than default, there are a selection of resolutions
+# available:
+#
+#APPEND += "uvesafb.mode_option=1024x768-32"
+APPEND += "uvesafb.mode_option=1280x1024-32"
+#APPEND += "uvesafb.mode_option=1600x1200-32"
+#
+# To avoid corrupt boot screen by systemd message, you can use serial
+# console separated from VGA console or disable all boot messages by
+# kernel command line.
+#
+# Configuration for serial console
+APPEND += "console=ttyS0,115200n8"
+#
+# All boot message will be off
+APPEND += "quiet"
+
+# U-Boot support for SOTA
+PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot-ota"
+UBOOT_MACHINE_sota = "qemu-x86_defconfig"
diff --git a/meta-agl-bsp/conf/include/agl_qemux86.inc b/meta-agl-bsp/conf/include/agl_qemux86.inc
new file mode 100644
index 000000000..81015e076
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_qemux86.inc
@@ -0,0 +1,23 @@
+
+# Configurations to run on VirtualBox/VMWare
+#
+# To get wide screen than default, there are a selection of resolutions
+# available:
+#
+#APPEND += "uvesafb.mode_option=1024x768-32"
+APPEND += "uvesafb.mode_option=1280x1024-32"
+#APPEND += "uvesafb.mode_option=1600x1200-32"
+#
+# To avoid corrupt boot screen by systemd message, you can use serial
+# console separated from VGA console or disable all boot messages by
+# kernel command line.
+#
+# Configuration for serial console
+APPEND += "console=ttyS0,115200n8"
+#
+# All boot message will be off
+APPEND += "quiet"
+
+# U-Boot support for SOTA
+PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot-ota"
+UBOOT_MACHINE_sota = "qemu-x86_defconfig"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi2.inc b/meta-agl-bsp/conf/include/agl_raspberrypi2.inc
new file mode 100644
index 000000000..6410941b5
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi2.inc
@@ -0,0 +1,46 @@
+#GPU_MEM = "512"
+# Increase GPU_MEM for AGL apps (navi/poi)
+GPU_MEM = "640"
+
+ENABLE_CMA = "1"
+CMA_LWM = "16"
+CMA_HWM = "32"
+
+CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
+
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+KERNEL_DEVICETREE_append = " overlays/vc4-kms-v3d-overlay.dtb"
+KERNEL_IMAGETYPE_sota = "uImage"
+PREFERRED_VERSION_linux-raspberrypi = "4.4.%"
+PREFERRED_VERSION_mesa = "12.%"
+
+PREFERRED_PROVIDER_virtual/egl = "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
+PREFERRED_PROVIDER_virtual/libgl = "mesa"
+PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_jpeg = "jpeg"
+
+MACHINE_FEATURES += "vc4graphics"
+
+### Image classes, fstypes and (S)OTA
+
+# normal image class is sdcard_image-rpi-gdp, for sota it is image_types_uboot & sdcard_image-rpi-ota
+IMAGE_CLASSES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'image_types_uboot sdcard_image-rpi-ota', 'sdcard_image-rpi-gdp', d)}"
+
+# normal image is rpi-sdimg, for sota it is rpi-sdimg-ota
+#IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'rpi-sdimg-ota', 'rpi-sdimg', d)}"
+### both rpi-sdimg and rpi-sdimg-ota broken
+IMAGE_FSTYPES += "ext4.xz ext4.bmap tar.xz"
+
+KERNEL_IMAGETYPE_sota = "uImage"
+PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot"
+UBOOT_MACHINE_sota = "rpi_2_defconfig"
+
+# For libomxil
+#LICENSE_FLAGS_WHITELIST = "commercial"
+
+IMAGE_INSTALL_append = " kernel-modules linux-firmware "
+
+# Psplash causes crash on first boot on RPi
+IMAGE_FEATURES_remove = "splash"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc
new file mode 100644
index 000000000..8bbc01716
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc
@@ -0,0 +1,46 @@
+#GPU_MEM = "512"
+# Increase GPU_MEM for AGL apps (navi/poi)
+GPU_MEM = "640"
+
+ENABLE_CMA = "1"
+CMA_LWM = "16"
+CMA_HWM = "32"
+
+CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
+
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+KERNEL_DEVICETREE_append = " overlays/vc4-kms-v3d-overlay.dtb"
+KERNEL_IMAGETYPE_sota = "uImage"
+PREFERRED_VERSION_linux-raspberrypi = "4.4.%"
+PREFERRED_VERSION_mesa = "12.%"
+
+PREFERRED_PROVIDER_virtual/egl = "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
+PREFERRED_PROVIDER_virtual/libgl = "mesa"
+PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_jpeg = "jpeg"
+
+MACHINE_FEATURES += "vc4graphics"
+
+### Image classes, fstypes and (S)OTA
+
+# normal image class is sdcard_image-rpi-gdp, for sota it is image_types_uboot & sdcard_image-rpi-ota
+IMAGE_CLASSES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'image_types_uboot sdcard_image-rpi-ota', 'sdcard_image-rpi-gdp', d)}"
+
+# normal image is rpi-sdimg, for sota it is rpi-sdimg-ota
+IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'rpi-sdimg-ota', 'rpi-sdimg', d)}"
+### both rpi-sdimg and rpi-sdimg-ota broken
+IMAGE_FSTYPES += "ext4.xz ext4.bmap tar.xz"
+
+KERNEL_IMAGETYPE_sota = "uImage"
+PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot"
+UBOOT_MACHINE_sota = "rpi_3_32b_defconfig"
+
+# For libomxil
+#LICENSE_FLAGS_WHITELIST = "commercial"
+
+IMAGE_INSTALL_append = " kernel-modules linux-firmware "
+
+# Psplash causes crash on first boot on RPi
+IMAGE_FEATURES_remove = "splash"
diff --git a/meta-agl/conf/include/agl-devel.inc b/meta-agl/conf/include/agl-devel.inc
new file mode 100644
index 000000000..f4cba6966
--- /dev/null
+++ b/meta-agl/conf/include/agl-devel.inc
@@ -0,0 +1,9 @@
+IMAGE_FEATURES =+ "debug-tweaks eclipse-debug tools-debug tools-profile"
+
+IMAGE_INSTALL_append = " \
+ packagegroup-agl-devel \
+"
+
+# disable install of debug files in SDK
+# initial value: SDKIMAGE_FEATURES="dev-pkgs dbg-pkgs staticdev-pkgs"
+SDKIMAGE_FEATURES="dev-pkgs"
diff --git a/meta-agl/conf/include/base-agl.inc b/meta-agl/conf/include/base-agl.inc
new file mode 100644
index 000000000..1debe86a1
--- /dev/null
+++ b/meta-agl/conf/include/base-agl.inc
@@ -0,0 +1,14 @@
+# AGL includes all kernel modules here for ease-of-use during development.
+# Comment this out to be able to select the kernel modules yourself.
+IMAGE_INSTALL_append = " kernel-modules"
+
+# Likewise as we included all kernel modules by default in the filesystem,
+# we do not need a separate tarball stored.
+# Comment this out to receive the separate modules tarball again.
+MODULE_TARBALL_DEPLOY ?= "0"
+
+# Comment out below if want to use QtWebkit
+PACKAGECONFIG_remove_pn-qtquick1 = "webkit"
+
+
+ASSUME_PROVIDED_remove = "tar-native"
diff --git a/meta-agl/recipes-devtools/packagegroups/packagegroup-agl-devel.bb b/meta-agl/recipes-devtools/packagegroups/packagegroup-agl-devel.bb
new file mode 100644
index 000000000..17bdcc4f7
--- /dev/null
+++ b/meta-agl/recipes-devtools/packagegroups/packagegroup-agl-devel.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Provides a set of tools for development for AGL DISTRO"
+
+PR = "r1"
+
+inherit packagegroup
+
+RDEPENDS_${PN} = "\
+ strace \
+ ldd \
+ less \
+ lsof \
+ gdb \
+ valgrind \
+ perf \
+ powertop \
+ latencytop \
+ systemtap \
+ screen \
+ usbutils \
+ rsync \
+ "
diff --git a/meta-netboot/conf/include/agl-netboot.inc b/meta-netboot/conf/include/agl-netboot.inc
new file mode 100644
index 000000000..47f0c08a6
--- /dev/null
+++ b/meta-netboot/conf/include/agl-netboot.inc
@@ -0,0 +1,5 @@
+INHERIT += "netboot"
+OVERRIDES .= ":netboot"
+
+# add 256MB of extra space in ext4 output image
+IMAGE_ROOTFS_EXTRA_SPACE ?= "262144"
diff --git a/templates/base/00_local.conf.agl.inc b/templates/base/00_local.conf.agl.inc
index 867139b8b..1cfd90557 100644
--- a/templates/base/00_local.conf.agl.inc
+++ b/templates/base/00_local.conf.agl.inc
@@ -4,17 +4,5 @@
# Set DISTRO for AGL
DISTRO = "poky-agl"
-# AGL includes all kernel modules here for ease-of-use during development.
-# Comment this out to be able to select the kernel modules yourself.
-IMAGE_INSTALL_append = " kernel-modules"
-
-# Likewise as we included all kernel modules by default in the filesystem,
-# we do not need a separate tarball stored.
-# Comment this out to receive the separate modules tarball again.
-MODULE_TARBALL_DEPLOY ?= "0"
-
-# Comment out below if want to use QtWebkit
-PACKAGECONFIG_remove_pn-qtquick1 = "webkit"
-
-
-ASSUME_PROVIDED_remove = "tar-native"
+#see meta-agl/meta-agl/conf/include/base-agl.inc
+require conf/include/base-agl.inc
diff --git a/templates/feature/agl-devel/50_local.conf.inc b/templates/feature/agl-devel/50_local.conf.inc
index 3b7434f13..54a023cd1 100644
--- a/templates/feature/agl-devel/50_local.conf.inc
+++ b/templates/feature/agl-devel/50_local.conf.inc
@@ -1,23 +1,2 @@
-EXTRA_IMAGE_FEATURES =+ "debug-tweaks eclipse-debug tools-debug tools-profile"
-
-IMAGE_INSTALL_append = " \
- strace \
- ldd \
- less \
- lsof \
- gdb \
- valgrind \
- perf \
- powertop \
- latencytop \
- systemtap \
- screen \
- usbutils \
- rsync \
-"
-
-# disable install of debug files in SDK
-# initial value: SDKIMAGE_FEATURES="dev-pkgs dbg-pkgs staticdev-pkgs"
-SDKIMAGE_FEATURES="dev-pkgs"
-
-
+#see meta-agl/meta-agl/conf/include/agl-devel.inc
+require conf/include/agl-devel.inc
diff --git a/templates/feature/agl-netboot/50_local.conf.inc b/templates/feature/agl-netboot/50_local.conf.inc
index 47f0c08a6..77c313673 100644
--- a/templates/feature/agl-netboot/50_local.conf.inc
+++ b/templates/feature/agl-netboot/50_local.conf.inc
@@ -1,5 +1,2 @@
-INHERIT += "netboot"
-OVERRIDES .= ":netboot"
-
-# add 256MB of extra space in ext4 output image
-IMAGE_ROOTFS_EXTRA_SPACE ?= "262144"
+#see meta-agl/meta-netboot/conf/include/agl-netboot.inc
+require conf/include/agl-netboot.inc
diff --git a/templates/machine/dra7xx-evm/50_local.conf.inc b/templates/machine/dra7xx-evm/50_local.conf.inc
index 24f51aed6..e43a4f294 100644
--- a/templates/machine/dra7xx-evm/50_local.conf.inc
+++ b/templates/machine/dra7xx-evm/50_local.conf.inc
@@ -1,61 +1,3 @@
MACHINE = "dra7xx-evm"
-
-#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX_${MACHINE} = "omapdrm-pvr"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " sgx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-DEPENDS_remove = "virtual/libgl"
-
-# Preferred providers
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-
-#Preferred versions
-PREFERRED_VERSION_libgbm = "10.0.0"
-
-#-------------------------------------------------
-## Multimedia section ##
-#-------------------------------------------------
-
-GSTREAMER_PLUGINS = " \
- "
-# Disable due to broken build in morty
-# gstreamer1.0-plugins-bad-meta \
-# gstreamer1.0-plugins-ducati \
-# gstreamer1.0-plugins-vpe \
-#"
-
-PACKAGES_MULTIMEDIA = " \
- ipumm-fw \
- pulseaudio-misc \
- ${GSTREAMER_PLUGINS} \
-"
-
-PREFERRED_VERSION_ipumm-fw = "3.00.08.02"
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
-PREFERRED_VERSION_virtual/kernel = "4.4"
-
-# Distribution-specific runtime components
-IMAGE_INSTALL_append = " \
- ${PACKAGES_GFX} \
- ${PACKAGES_MULTIMEDIA} \
- cmem \
-"
-
-## ATTENTION, this is needed right now to build meta-ti with AGL: ##
-## due to meta-ti being based on YP 1.8 instead of YP 2.0
-BBMASK = "meta-ti/.*eudev"
-
-
-
-IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-dra7xx-evm-ota"
-IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'dra7xx-evm-sdimg-ota ', '', d)}"
+#see meta-agl/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc
+require conf/include/agl_dra7xx-evm.inc
diff --git a/templates/machine/h3ulcb/50_local.conf.inc b/templates/machine/h3ulcb/50_local.conf.inc
index 9b6ef6cbf..4bb2a8219 100644
--- a/templates/machine/h3ulcb/50_local.conf.inc
+++ b/templates/machine/h3ulcb/50_local.conf.inc
@@ -1,48 +1,4 @@
MACHINE = "h3ulcb"
-SOC_FAMILY = "r8a7795"
+#see meta-agl/meta-agl-bsp/conf/include/agl_h3ulcb.inc
+require conf/include/agl_h3ulcb.inc
-# for Wayland/Weston weston-laucher
-DISTRO_FEATURES_append = " pam"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " gsx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-# for Wayland/Weston
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
-PREFERRED_PROVIDER_virtual/libgl = ""
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
-
-# Mask the gstreamer recipe for MMP
-BBMASK = "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
-
-# Add for gstreamer plugins ugly
-LICENSE_FLAGS_WHITELIST = "commercial"
-
-PREFERRED_VERSION_gstreamer1.0-libav = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-base = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-good = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-ugly = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-vspfilter = "1.0%"
-
-MACHINE_FEATURES_append = " multimedia"
-
-DISTRO_FEATURES_append = " use_eva_pkg"
-
-#DISTRO_FEATURES_append = " h265dec_lib mpeg2dec_lib"
-DISTRO_FEATURES_append = " h264dec_lib aaclcdec_lib aaclcdec_mdw"
-
-DISTRO_FEATURES_BACKFILL_remove = "gobject-introspection-data"
-
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-module-pvrsrvkm \
- kernel-module-vsp2 \
- kernel-module-vspm-if \
- omx-user-module \
- weston-bin \
-"
diff --git a/templates/machine/intel-corei7-64/50_local.conf.inc b/templates/machine/intel-corei7-64/50_local.conf.inc
index 7c921b70e..48d26c567 100644
--- a/templates/machine/intel-corei7-64/50_local.conf.inc
+++ b/templates/machine/intel-corei7-64/50_local.conf.inc
@@ -1,27 +1,3 @@
MACHINE = "intel-corei7-64"
-
-# Configurations to run on VirtualBox/VMWare
-#
-# To get wide screen than default, there are a selection of resolutions
-# available:
-#
-#APPEND += "uvesafb.mode_option=1024x768-32"
-#APPEND += "uvesafb.mode_option=1280x1024-32"
-#APPEND += "uvesafb.mode_option=1600x1200-32"
-#
-# To avoid corrupt boot screen by systemd message, you can use serial
-# console separated from VGA console or disable all boot messages by
-# kernel command line.
-#
-# Configuration for serial console
-#APPEND += "console=ttyS0,115200n8"
-#
-# All boot message will be off
-#APPEND += "quiet"
-
-# Enable Libvaapi for HW accelerated video support
-#
-IMAGE_INSTALL_append = " \
- libva \
- va-intel \
- gstreamer-vaapi-1.0 "
+#see meta-agl/meta-agl-bsp/conf/include/agl_intel-corei7-64.inc
+require conf/include/agl_intel-corei7-64.inc
diff --git a/templates/machine/joule/50_local.conf.inc b/templates/machine/joule/50_local.conf.inc
index 944545bb9..04b7e6f20 100644
--- a/templates/machine/joule/50_local.conf.inc
+++ b/templates/machine/joule/50_local.conf.inc
@@ -1,11 +1,3 @@
MACHINE = "intel-corei7-64"
-INTEL_MACHINE_SUBTYPE = "broxton-m"
-PREFERRED_VERSION_linux-yocto_intel-corei7-64 ?= "4.4%"
-
-APPEND += "console=ttyS2,115200n8 video=efifb maxcpus=4 noxsave reboot=efi kmemleak=off"
-
-IMAGE_INSTALL_append = " linux-firmware-iwlwifi-8000c linux-firmware-ibt-11-5"
-IMAGE_INSTALL_append = " \
- libva \
- va-intel \
- gstreamer-vaapi-1.0 "
+#see meta-agl/meta-agl-bsp/conf/include/agl_joule.inc
+require conf/include/agl_joule.inc
diff --git a/templates/machine/m3ulcb-nogfx/50_local.conf.inc b/templates/machine/m3ulcb-nogfx/50_local.conf.inc
index 3f92a7a56..521dedb46 100644
--- a/templates/machine/m3ulcb-nogfx/50_local.conf.inc
+++ b/templates/machine/m3ulcb-nogfx/50_local.conf.inc
@@ -1,12 +1,3 @@
MACHINE = "m3ulcb"
-SOC_FAMILY = "r8a7796"
-
-IMAGE_INSTALL_append = " \
- weston-bin \
-"
-
-# Mask graphic Pkgs
-BBMASK = "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
-# Mask MMP recipes
-BBMASK .= "|kernel-module-uvcs|omx-user-module"
-
+#see meta-agl/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
+require conf/include/agl_m3ulcb-nogfx.inc
diff --git a/templates/machine/m3ulcb/50_local.conf.inc b/templates/machine/m3ulcb/50_local.conf.inc
index 5f0167dc7..c75bc5311 100644
--- a/templates/machine/m3ulcb/50_local.conf.inc
+++ b/templates/machine/m3ulcb/50_local.conf.inc
@@ -1,48 +1,3 @@
MACHINE = "m3ulcb"
-SOC_FAMILY = "r8a7796"
-
-# for Wayland/Weston weston-laucher
-DISTRO_FEATURES_append = " pam"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " gsx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-# for Wayland/Weston
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "gles-user-module"
-PREFERRED_PROVIDER_virtual/libgl = ""
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
-
-# Mask the gstreamer recipe for MMP
-BBMASK = "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
-
-# Add for gstreamer plugins ugly
-LICENSE_FLAGS_WHITELIST = "commercial"
-
-PREFERRED_VERSION_gstreamer1.0-libav = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-base = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-bad = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-good = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-ugly = "1.4.5"
-PREFERRED_VERSION_gstreamer1.0-plugins-vspfilter = "1.0%"
-
-MACHINE_FEATURES_append = " multimedia"
-
-DISTRO_FEATURES_append = " use_eva_pkg"
-
-#DISTRO_FEATURES_append = " h265dec_lib mpeg2dec_lib"
-DISTRO_FEATURES_append = " h264dec_lib aaclcdec_lib aaclcdec_mdw"
-
-DISTRO_FEATURES_BACKFILL_remove = "gobject-introspection-data"
-
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-module-pvrsrvkm \
- kernel-module-vsp2 \
- kernel-module-vspm-if \
- omx-user-module \
- weston-bin \
-"
+#see meta-agl/meta-agl-bsp/conf/include/agl_m3ulcb.inc
+require conf/include/agl_m3ulcb.inc
diff --git a/templates/machine/porter-nogfx/50_local.conf.inc b/templates/machine/porter-nogfx/50_local.conf.inc
index 6bc517191..87ec427e3 100644
--- a/templates/machine/porter-nogfx/50_local.conf.inc
+++ b/templates/machine/porter-nogfx/50_local.conf.inc
@@ -1,28 +1,3 @@
MACHINE = "porter"
-
-# For Bluetooth hardware support
-BT_KERNEL_MODULES = " \
- kernel-module-btusb \
- kernel-module-bnep \
- kernel-module-rfcomm \
- kernel-module-rfkill \
- "
-
-# Distribution-specific runtime components
-IMAGE_INSTALL_append = " \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BT_KERNEL_MODULES}", "", d)} \
- "
-
-# Setting for u-boot Wayland
-UBOOT_MACHINE = "porter_vin_config"
-
-PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
-PREFERRED_PROVIDER_virtual/egl = "mesa"
-
-# Commit united image to OSTree, not just uImage
-OSTREE_KERNEL = "uImage+dtb"
-
-# OTA-enabled live image
-IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-porter-ota"
-IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'porter-sdimg-ota ', '', d)}"
-
+#see meta-agl/meta-agl-bsp/conf/include/agl_porter-nogfx.inc
+require conf/include/agl_porter-nogfx.inc
diff --git a/templates/machine/porter/50_local.conf.inc b/templates/machine/porter/50_local.conf.inc
index 50433cf24..f2794b0d0 100644
--- a/templates/machine/porter/50_local.conf.inc
+++ b/templates/machine/porter/50_local.conf.inc
@@ -1,194 +1,3 @@
MACHINE = "porter"
-
-# For running GStreamer on wayland (experimental).
-#
-# Uncoment below if want to use multimedia acceleration on wayland
-#
-IMAGE_INSTALL_append_porter = " \
- gstreamer1.0-plugins-bad-waylandsink \
- "
-
-# Additional plugins to test multimedia acceleration (experimental)
-#
-# Uncoment below if want to use multimedia acceleration
-#
-IMAGE_INSTALL_append_porter = " \
- gstreamer1.0-plugins-base-videorate \
- gstreamer1.0-plugins-base-videotestsrc \
- gstreamer1.0-plugins-base-audiotestsrc \
- gstreamer1.0-plugins-base-alsa \
- gstreamer1.0-plugins-good-autodetect \
- gstreamer1.0-plugins-good-isomp4 \
- gstreamer1.0-plugins-good-videocrop \
- gstreamer1.0-plugins-bad-asfmux \
- gstreamer1.0-plugins-bad-fbdevsink \
- gstreamer1.0-plugins-bad-faad \
- gstreamer1.0-plugins-bad-videoparsersbad \
-"
-# gstreamer1.0-plugins-good-video4linux2 (temp disabled)
-
-# for graphics acceleration
-#
-# Uncoment below if want to use multimedia acceleration
-#
-IMAGE_INSTALL_append_porter = " \
- libegl libegl-dev libgbm-dev \
- gles-kernel-module gles-user-module \
- libdrm-tests \
- libdrm-kms \
- "
-
-# for multimedia acceleration
-#
-# Uncoment below if want to use multimedia acceleration
-#
-IMAGE_INSTALL_append_porter = " \
- packagegroup-rcar-gen2-multimedia \
- packagegroup-lcb-oss-codecs \
- alsa-utils alsa-utils-config alsa-tools \
-"
-
-IMAGE_INSTALL_append_porter = " \
- gles-kernel-module \
- libegl \
- libgbm-dev \
- "
-
-# For Bluetooth hardware support
-BT_KERNEL_MODULES = " \
- kernel-module-btusb \
- kernel-module-bnep \
- kernel-module-rfcomm \
- kernel-module-rfkill \
- "
-
-# Distribution-specific runtime components
-IMAGE_INSTALL_append = " \
- ${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "${BT_KERNEL_MODULES}", "", d)} \
- "
-
-# TODO: When booting weston, someone try to load 'libgbm_kms.so' then
-# fail to boot. It should be 'libgbm_kms.so.1'.
-# Tentatively, it is to install 'libgbm-dev' pkg.
-#IMAGE_INSTALL_append = "libgbm-dev"
-# this is not recommended and should be done in the recipe requiring this module (gles-user-module)
-
-LICENSE_FLAGS_WHITELIST = "commercial"
-
-# Define the name of multimedia, dtv, graphic test, multimedia-test for bbmask
-BB_MULTIMEDIA_KERNEL_MODULE = "fdpm-kernel-module|mmngr-kernel-module|\
- mmngrbuf-kernel-module|s3ctl-kernel-module|\
- uvcs-kernel-module|vspm-kernel-module"
-BB_MULTIMEDIA_USER_MODULE = "fdpm-user-module|mmngr-user-module|\
- mmngrbuf-user-module|omx-user-module|\
- s3ctl-user-module|vspm-user-module|libmemcpy"
-BB_MULTIMEDIA_TEST_MODULE = "fdpm-tp-user-module|mmngr-tp-user-module|\
- mmngrbuf-tp-user-module|s3ctl-tp-user-module|\
- vspm-tp-user-module"
-BB_GST_PLUGINS = "meta-renesas/meta-rcar-gen2/recipes-multimedia/gstreamer"
-MULTIMEDIA_BB = "${BB_MULTIMEDIA_KERNEL_MODULE}|${BB_MULTIMEDIA_USER_MODULE}|\
- ${BB_MULTIMEDIA_TEST_MODULE}|${BB_GST_PLUGINS}"
-
-# Enable Multimedia standard pkg
-MACHINE_FEATURES_append = " multimedia"
-
-# UnMask the multimedia kernel modules
-#BBMASK .= "|${BB_MULTIMEDIA_KERNEL_MODULE}"
-
-# UnMask the multimedia user modules
-#BBMASK .= "|${BB_MULTIMEDIA_USER_MODULE}"
-
-# Include static library in SDK
-SDKIMAGE_FEATURES_append = " staticdev-pkgs"
-
-# Mask the DTV pkgs
-#MACHINE_FEATURES_append = " dtv"
-BBMASK = "dtv-module|ssp-module|scu-module"
-
-# Enable graphic pkgs
-#BBMASK .= "|gles-kernel-module|gles-user-module"
-
-# Mask the multimedia-test
-BBMASK .= "|${BB_MULTIMEDIA_TEST_MODULE}"
-
-# Mask the graphic test
-BBMASK .= "|gles-test-module"
-
-#DISTRO_FEATURES_append = " mm-test"
-#DISTRO_FEATURES_append = " gles-test"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " sgx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-# for Wayland/Weston
-
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "libegl"
-PREFERRED_PROVIDER_virtual/libgl = ""
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
-
-# Setting for u-boot Wayland
-UBOOT_MACHINE = "porter_vin_config"
-
-# Addtional Configurations of Optional OMX modules
-
-# OMX Media Component H263 Decoder Library
-#DISTRO_FEATURES_append = " h263dec_lib"
-# OMX Media Component VC-1 Decoder Library
-#DISTRO_FEATURES_append = " vc1dec_lib"
-# OMX Media Component MPEG-4 Decoder Library
-#DISTRO_FEATURES_append = " mpeg4dec_lib"
-# VCP3 Driver Adapted for Linux MPEG-2 Decoder Library
-#DISTRO_FEATURES_append = " mpeg2dec_lib"
-# DivX Decoder Library for Linux
-#DISTRO_FEATURES_append = " divxdec_lib"
-# Encoder Library for Linux
-DISTRO_FEATURES_append = " h264avcenc_lib"
-
-# Configurations of Optional Audio Decoders
-# ARM 5.1ch aacPlus V2 Decoder for Linux
-#DISTRO_FEATURES_append = " aacp2dec_lib"
-# ARM MP3 Decoder for Linux
-#DISTRO_FEATURES_append = " mp3dec_lib"
-# ARM WMA Decoder for Linux
-#DISTRO_FEATURES_append = " wmadec_lib"
-# ARM 5.1ch Dolby Digital Decoder for Linux
-#DISTRO_FEATURES_append = " ddddec_lib"
-# ARM ALAC Decoder for Linux
-#DISTRO_FEATURES_append = " alacdec_lib"
-# ARM FLAC Decoder for Linux
-#DISTRO_FEATURES_append = " flacdec_lib"
-# ARM AAC-LC Decoder Library Sample for Linux
-#DISTRO_FEATURES_append = " aaclcsdec_lib"
-# ARM AAC Encoder for Linux
-#DISTRO_FEATURES_append = " aacenc_lib"
-
-# Configurations of Optional Audio Middlewares
-# ARM 5.1ch aacPlus V2 Decode Middleware for Linux
-#DISTRO_FEATURES_append = " armaccp2dec_mdw"
-# ARM MP3 Decode Middleware for Linux
-#DISTRO_FEATURES_append = " mp3dec_mdw"
-# ARM WMA Decode Middleware for Linux
-#DISTRO_FEATURES_append = " wmadec_mdw"
-# ARM 5.1ch Dolby Digital Decode Middleware for Linux
-#DISTRO_FEATURES_append = " ddddec_mdw"
-# ARM ALAC Decode Middleware for Linux
-#DISTRO_FEATURES_append = " alacdec_mdw"
-# ARM FLAC Decode Middleware for Linux
-#DISTRO_FEATURES_append = " flacdec_mdw"
-# ARM AAC Decode Middleware Sample for Linux
-#DISTRO_FEATURES_append = " aacsdec_mdw"
-# ARM AAC Encode Middleware for Linux
-#DISTRO_FEATURES_append = " aacenc_mdw"
-
-# Commit united image to OSTree, not just uImage
-OSTREE_KERNEL = "uImage+dtb"
-
-# OTA-enabled live image
-IMAGE_CLASSES_append_sota = " image_types_uboot sdcard_image-porter-ota"
-IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'porter-sdimg-ota ', '', d)}"
-
+#see meta-agl/meta-agl-bsp/conf/include/agl_porter.inc
+require conf/include/agl_porter.inc
diff --git a/templates/machine/qemux86-64/50_local.conf.inc b/templates/machine/qemux86-64/50_local.conf.inc
index 29e29b4d0..497a3467d 100644
--- a/templates/machine/qemux86-64/50_local.conf.inc
+++ b/templates/machine/qemux86-64/50_local.conf.inc
@@ -1,24 +1,3 @@
MACHINE = "qemux86-64"
-
-# Configurations to run on VirtualBox/VMWare
-#
-# To get wide screen than default, there are a selection of resolutions
-# available:
-#
-#APPEND += "uvesafb.mode_option=1024x768-32"
-APPEND += "uvesafb.mode_option=1280x1024-32"
-#APPEND += "uvesafb.mode_option=1600x1200-32"
-#
-# To avoid corrupt boot screen by systemd message, you can use serial
-# console separated from VGA console or disable all boot messages by
-# kernel command line.
-#
-# Configuration for serial console
-APPEND += "console=ttyS0,115200n8"
-#
-# All boot message will be off
-APPEND += "quiet"
-
-# U-Boot support for SOTA
-PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot-ota"
-UBOOT_MACHINE_sota = "qemu-x86_defconfig"
+#see meta-agl/meta-agl-bsp/conf/include/agl_qemux86-64.inc
+require conf/include/agl_qemux86-64.inc
diff --git a/templates/machine/qemux86/50_local.conf.inc b/templates/machine/qemux86/50_local.conf.inc
index 1062a7744..b500b3c60 100644
--- a/templates/machine/qemux86/50_local.conf.inc
+++ b/templates/machine/qemux86/50_local.conf.inc
@@ -1,24 +1,3 @@
MACHINE = "qemux86"
-
-# Configurations to run on VirtualBox/VMWare
-#
-# To get wide screen than default, there are a selection of resolutions
-# available:
-#
-#APPEND += "uvesafb.mode_option=1024x768-32"
-APPEND += "uvesafb.mode_option=1280x1024-32"
-#APPEND += "uvesafb.mode_option=1600x1200-32"
-#
-# To avoid corrupt boot screen by systemd message, you can use serial
-# console separated from VGA console or disable all boot messages by
-# kernel command line.
-#
-# Configuration for serial console
-APPEND += "console=ttyS0,115200n8"
-#
-# All boot message will be off
-APPEND += "quiet"
-
-# U-Boot support for SOTA
-PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot-ota"
-UBOOT_MACHINE_sota = "qemu-x86_defconfig"
+#see meta-agl/meta-agl-bsp/conf/include/agl_qemux86.inc
+require conf/include/agl_qemux86.inc
diff --git a/templates/machine/raspberrypi2/50_local.conf.inc b/templates/machine/raspberrypi2/50_local.conf.inc
index 6c74f8203..5d314eeb4 100644
--- a/templates/machine/raspberrypi2/50_local.conf.inc
+++ b/templates/machine/raspberrypi2/50_local.conf.inc
@@ -1,48 +1,3 @@
MACHINE = "raspberrypi2"
-
-#GPU_MEM = "512"
-# Increase GPU_MEM for AGL apps (navi/poi)
-GPU_MEM = "640"
-
-ENABLE_CMA = "1"
-CMA_LWM = "16"
-CMA_HWM = "32"
-
-CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
-
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-KERNEL_DEVICETREE_append = " overlays/vc4-kms-v3d-overlay.dtb"
-KERNEL_IMAGETYPE_sota = "uImage"
-PREFERRED_VERSION_linux-raspberrypi = "4.4.%"
-PREFERRED_VERSION_mesa = "12.%"
-
-PREFERRED_PROVIDER_virtual/egl = "mesa"
-PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
-PREFERRED_PROVIDER_virtual/libgl = "mesa"
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_jpeg = "jpeg"
-
-MACHINE_FEATURES += "vc4graphics"
-
-### Image classes, fstypes and (S)OTA
-
-# normal image class is sdcard_image-rpi-gdp, for sota it is image_types_uboot & sdcard_image-rpi-ota
-IMAGE_CLASSES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'image_types_uboot sdcard_image-rpi-ota', 'sdcard_image-rpi-gdp', d)}"
-
-# normal image is rpi-sdimg, for sota it is rpi-sdimg-ota
-#IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'rpi-sdimg-ota', 'rpi-sdimg', d)}"
-### both rpi-sdimg and rpi-sdimg-ota broken
-IMAGE_FSTYPES += "ext4.xz ext4.bmap tar.xz"
-
-KERNEL_IMAGETYPE_sota = "uImage"
-PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot"
-UBOOT_MACHINE_sota = "rpi_2_defconfig"
-
-# For libomxil
-#LICENSE_FLAGS_WHITELIST = "commercial"
-
-IMAGE_INSTALL_append = " kernel-modules linux-firmware "
-
-# Psplash causes crash on first boot on RPi
-IMAGE_FEATURES_remove = "splash"
+#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi2.inc
+require conf/include/agl_raspberrypi2.inc
diff --git a/templates/machine/raspberrypi3/50_local.conf.inc b/templates/machine/raspberrypi3/50_local.conf.inc
index 8657f155e..e47637178 100644
--- a/templates/machine/raspberrypi3/50_local.conf.inc
+++ b/templates/machine/raspberrypi3/50_local.conf.inc
@@ -1,48 +1,3 @@
MACHINE = "raspberrypi3"
-
-#GPU_MEM = "512"
-# Increase GPU_MEM for AGL apps (navi/poi)
-GPU_MEM = "640"
-
-ENABLE_CMA = "1"
-CMA_LWM = "16"
-CMA_HWM = "32"
-
-CORE_IMAGE_EXTRA_INSTALL += "wayland weston"
-
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-KERNEL_DEVICETREE_append = " overlays/vc4-kms-v3d-overlay.dtb"
-KERNEL_IMAGETYPE_sota = "uImage"
-PREFERRED_VERSION_linux-raspberrypi = "4.4.%"
-PREFERRED_VERSION_mesa = "12.%"
-
-PREFERRED_PROVIDER_virtual/egl = "mesa"
-PREFERRED_PROVIDER_virtual/libgles2 = "mesa"
-PREFERRED_PROVIDER_virtual/libgl = "mesa"
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_jpeg = "jpeg"
-
-MACHINE_FEATURES += "vc4graphics"
-
-### Image classes, fstypes and (S)OTA
-
-# normal image class is sdcard_image-rpi-gdp, for sota it is image_types_uboot & sdcard_image-rpi-ota
-IMAGE_CLASSES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'image_types_uboot sdcard_image-rpi-ota', 'sdcard_image-rpi-gdp', d)}"
-
-# normal image is rpi-sdimg, for sota it is rpi-sdimg-ota
-IMAGE_FSTYPES += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-ota', 'rpi-sdimg-ota', 'rpi-sdimg', d)}"
-### both rpi-sdimg and rpi-sdimg-ota broken
-IMAGE_FSTYPES += "ext4.xz ext4.bmap tar.xz"
-
-KERNEL_IMAGETYPE_sota = "uImage"
-PREFERRED_PROVIDER_virtual/bootloader_sota = "u-boot"
-UBOOT_MACHINE_sota = "rpi_3_32b_defconfig"
-
-# For libomxil
-#LICENSE_FLAGS_WHITELIST = "commercial"
-
-IMAGE_INSTALL_append = " kernel-modules linux-firmware "
-
-# Psplash causes crash on first boot on RPi
-IMAGE_FEATURES_remove = "splash"
+#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi3.inc
+require conf/include/agl_raspberrypi3.inc