summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--.gitreview5
-rw-r--r--COPYING.MIT17
-rw-r--r--MAINTAINERS28
-rw-r--r--README24
-rw-r--r--meta-rcar-gen3-adas/conf/layer.conf117
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/linux-firmware/linux-firmware_git.bbappend15
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/si-tools/files/si-tools-fm-improvements.patch184
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bb3
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bb25
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot/0016-tools-fix-build-fail.patch29
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot_2015.04.bbappend4
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/utest-apps/files/0001-utest-utest-common.c-Check-return-value-of-write.patch44
-rw-r--r--meta-rcar-gen3-adas/recipes-bsp/utest-apps/utest-cam-imr-drm.bb1
-rw-r--r--meta-rcar-gen3-adas/recipes-connectivity/bluez5/bluez5_%.bbappend16
-rw-r--r--meta-rcar-gen3-adas/recipes-connectivity/bluez5/files/main.conf2
-rw-r--r--meta-rcar-gen3-adas/recipes-core/systemd/systemd/dummy0.network6
-rw-r--r--meta-rcar-gen3-adas/recipes-core/systemd/systemd/eth0.network8
-rw-r--r--meta-rcar-gen3-adas/recipes-core/systemd/systemd_229.bbappend22
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch51
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch69
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch35
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch175
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch252
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch96
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch33
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch78
-rwxr-xr-xmeta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/run-ptest12
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch44
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch45
-rw-r--r--meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind_3.12.0.bb127
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/cairo/cairo_1.14.6.bbappend4
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/libpng/libpng_%.bbappend2
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv-samples_2.4.bb39
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch28
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch27
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/fixpkgconfig.patch29
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/opencv-fix-pkgconfig-generation.patch44
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/uselocalxfeatures.patch12
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/useoeprotobuf.patch13
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_2.4.bb96
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_3.2.bb176
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0001-Allow-to-boot-without-input-device.patch24
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0002-Share-toytoolkit-lib.patch1394
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0003-add-window-set-fullscreen-at-output.patch83
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0004-Add-display_poll-function.patch77
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0005-Add-wl-ivi-shell-surface-creating-support.patch56
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0006-Add-widget_set_surface_allocation-func.patch50
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0007-Add-call-for-setting-fullscreen-with-IVI.patch44
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init.bbappend11
-rwxr-xr-xmeta-rcar-gen3-adas/recipes-graphics/wayland/weston-init/weston_exp.sh11
-rw-r--r--meta-rcar-gen3-adas/recipes-graphics/wayland/weston_1.11.0.bbappend13
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux-firmware/linux-firmware_git.bbappend73
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch34
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch54
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/ulcb.cfg8
-rw-r--r--meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend14
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/client.conf36
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/daemon.conf87
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/hifi50
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-bluetooth.conf7
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-ofono.conf15
-rwxr-xr-xmeta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio.init48
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/rsnddai0ak4613h.conf9
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/system.pa82
-rw-r--r--meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/pulseaudio_8.0.bbappend42
-rw-r--r--meta-rcar-gen3-adas/recipes-support/glog/glog-0.3.3/0001-Use-pkg-config-for-locating-gflags-and-gmock.patch44
-rw-r--r--meta-rcar-gen3/COPYING.MIT17
-rw-r--r--meta-rcar-gen3/README124
-rw-r--r--meta-rcar-gen3/README.proprietary133
-rw-r--r--meta-rcar-gen3/conf/layer.conf10
-rw-r--r--meta-rcar-gen3/conf/machine/h3ulcb.conf48
-rw-r--r--meta-rcar-gen3/conf/machine/include/r8a7795.inc3
-rw-r--r--meta-rcar-gen3/conf/machine/include/r8a7796.inc3
-rw-r--r--meta-rcar-gen3/conf/machine/include/tune-cortexa57-cortexa53.inc18
-rw-r--r--meta-rcar-gen3/conf/machine/include/tune-cortexa57.inc18
-rw-r--r--meta-rcar-gen3/conf/machine/m3ulcb.conf45
-rw-r--r--meta-rcar-gen3/conf/machine/salvator-x.conf54
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local-wayland.conf269
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local.conf260
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf281
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf373
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/bblayers.conf15
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local-wayland.conf262
-rw-r--r--meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local.conf253
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local-wayland.conf269
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local.conf260
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf281
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf373
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/bblayers.conf15
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local-wayland.conf262
-rw-r--r--meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local.conf253
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local-wayland.conf274
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local.conf265
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf286
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/bblayers.conf16
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf378
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/bblayers.conf15
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local-wayland.conf267
-rw-r--r--meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local.conf258
-rwxr-xr-xmeta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh1348
-rwxr-xr-xmeta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh1330
-rw-r--r--meta-rcar-gen3/docs/sample/copyscript/md5list.txt54
-rw-r--r--meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch151
-rw-r--r--meta-rcar-gen3/include/adsp-control.inc2
-rw-r--r--meta-rcar-gen3/include/avb-control.inc2
-rw-r--r--meta-rcar-gen3/include/cms-control.inc18
-rw-r--r--meta-rcar-gen3/include/dtv-dvd-control.inc5
-rw-r--r--meta-rcar-gen3/include/gles-control.inc6
-rw-r--r--meta-rcar-gen3/include/iccom-control.inc2
-rw-r--r--meta-rcar-gen3/include/multimedia-control.inc9
-rw-r--r--meta-rcar-gen3/include/omx-control.inc129
-rw-r--r--meta-rcar-gen3/include/rcar-gen3-modules-common.inc9
-rw-r--r--meta-rcar-gen3/include/rcar-gen3-path-common.inc1
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb60
-rw-r--r--meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch28
-rw-r--r--meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend8
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch57
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service11
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb59
-rw-r--r--meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb67
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb36
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb48
-rw-r--r--meta-rcar-gen3/recipes-bsp/qos/qosif.inc15
-rw-r--r--meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc8
-rw-r--r--meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb29
-rw-r--r--meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-tp-user-module.bb53
-rw-r--r--meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.bb41
-rw-r--r--meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.inc9
-rw-r--r--meta-rcar-gen3/recipes-core/base-files/base-files_%.bbappend5
-rw-r--r--meta-rcar-gen3/recipes-core/images/core-image-minimal.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend4
-rw-r--r--meta-rcar-gen3/recipes-core/systemd/systemd_%.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-devtools/gcc/libgcc_%.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend4
-rw-r--r--meta-rcar-gen3/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch24
-rw-r--r--meta-rcar-gen3/recipes-graphics/drm/libdrm/installtests.patch15
-rw-r--r--meta-rcar-gen3/recipes-graphics/drm/libdrm_2.4.68.bb45
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb135
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/change-shell.patch8
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/rc.pvr.service13
-rw-r--r--meta-rcar-gen3/recipes-graphics/images/core-image-renesas-base.inc67
-rw-r--r--meta-rcar-gen3/recipes-graphics/images/core-image-renesas-mmp-base.inc96
-rw-r--r--meta-rcar-gen3/recipes-graphics/images/core-image-weston-sdk.bb15
-rw-r--r--meta-rcar-gen3/recipes-graphics/images/core-image-weston.bbappend2
-rw-r--r--meta-rcar-gen3/recipes-graphics/images/core-image-weston.inc15
-rw-r--r--meta-rcar-gen3/recipes-graphics/mesa/mesa-dummy.inc0
-rw-r--r--meta-rcar-gen3/recipes-graphics/mesa/mesa-wayland.inc33
-rw-r--r--meta-rcar-gen3/recipes-graphics/mesa/mesa_%.bbappend10
-rw-r--r--meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphic-renesas.bb36
-rw-r--r--meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphics-libegl.bb25
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/libegl.bb19
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/libgbm.bb35
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb25
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend16
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/weston-init/weston.service12
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/weston.inc16
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/weston_2.%.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-adsp/kernel-module-xtensa-hifi.bb32
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mch.bb36
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mse.bb38
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-streaming.bb36
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-scu-src.bb55
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-ssp.bb55
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tddmac.bb55
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tsif.bb54
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb59
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-hwspinlock-sample.bb32
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-mfis.bb35
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bb73
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bb55
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/mmngr_drv.inc13
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-qos/kernel-module-qos.bb61
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bb65
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bb59
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bb86
-rw-r--r--meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bb68
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb10
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch83
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch104
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0003-ASoC-rcar-revert-IOMMU-support-so-far.patch191
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-m3ulcb-ADSP-enable.patch30
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/defconfig5715
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/touch.cfg1
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas/usb-video-class.cfg68
-rw-r--r--meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.9.bb27
-rw-r--r--meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb79
-rw-r--r--meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb29
-rw-r--r--meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb58
-rw-r--r--meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc9
-rw-r--r--meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb123
-rw-r--r--meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb17
-rw-r--r--meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb74
-rw-r--r--meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb72
-rw-r--r--meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb62
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend29
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf2
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf2
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf2
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf2
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb37
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend29
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend1
-rw-r--r--meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend32
-rw-r--r--meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb25
-rw-r--r--meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc18
-rw-r--r--meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb25
-rw-r--r--meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc2
-rw-r--r--meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb61
-rw-r--r--meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb50
-rw-r--r--meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb450
-rw-r--r--meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb66
-rw-r--r--meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb85
-rw-r--r--meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb31
-rw-r--r--meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb20
-rw-r--r--meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb46
-rw-r--r--meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb49
-rw-r--r--meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc15
-rw-r--r--meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff13
-rw-r--r--meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend5
229 files changed, 19288 insertions, 3994 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5cc4bc0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*.tar.bz2
+*.tar.gz
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..b2558c6
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+[gerrit]
+host=gerrit.automotivelinux.org
+port=29418
+project=AGL/meta-renesas-rcar-gen3
+defaultbranch=eel
diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..fb950dc
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/MAINTAINERS b/MAINTAINERS
new file mode 100644
index 0000000..4921617
--- /dev/null
+++ b/MAINTAINERS
@@ -0,0 +1,28 @@
+This file contains a list of BSP maintainers for the BSPs contained in
+the meta-renesas repository.
+
+Descriptions of section entries:
+
+ M: Mail patches to: FullName <address@domain>
+ F: Files and directories with wildcard patterns.
+ A trailing slash includes all files and subdirectory files.
+ F: meta-XXXXX/ all files in and below meta-XXXXX
+ F: meta-XXXXX/* all files in meta-XXXXX, but not below
+ One pattern per line. Multiple F: lines acceptable.
+
+Please keep this list in alphabetical order.
+
+Maintainers List (try to look for most precise areas first)
+
+ -----------------------------------
+Renesas ARM SoCs R-Car Generation 3
+M: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
+F: meta-rcar-gen3
+
+Renesas ARM SoCs R-Car Generation 2
+M: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
+F: meta-rcar-gen2
+
+COMMON
+M: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
+F: common
diff --git a/README b/README
index 6dea629..13a1cfc 100644
--- a/README
+++ b/README
@@ -1,18 +1,14 @@
-OpenEmbedded/Yocto BSP layer for Renesas Electronics's SoCs on ADAS platforms
+OpenEmbedded/Yocto BSP layer for Renesas Electronics's SoCs
==========
-This layer provides support for Renesas Electronics's ADAS platforms for use
-with OpenEmbedded and/or Yocto.
+This layer provides support for Renesas Electronics's platforms for use with
+AGL (Automotive Grade Linux).
-Layer maintainers: <source@cogentembedded.com>
+Maintainers:
+ Stephane Desneux <stephane.desneux@iot.bzh>
+ Ronan Le Martret <ronan.lemartret@iot.bzh>
+
+This repository is a fork of the upstream repository maintained by Renesas:
+ Upstream layer maintainer: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
+ Upstream repository: https://github.com/renesas-rcar/meta-renesas
-Supported Boards/Machines
-=========================
- * meta-rcar-gen3-adas
- - Renesas Electronics Corporation. Salvator-X View (R8A7795/R8A7796)
- - Renesas Electronics Corporation. ULCB View (R8A7795/R8A7796)
- - Renesas Electronics Corporation. ULCB HAD (R8A7795)
- - Renesas Electronics Corporation. ULCB Kingfisher (R8A7795/R8A7796/R8A7797)
- - Renesas Electronics Corporation. ULCB Videobox (R8A7795)
- - Renesas Electronics Corporation. Eagle (R8A7797)
- - Renesas Electronics Corporation. V3MSK (R8A7797)
diff --git a/meta-rcar-gen3-adas/conf/layer.conf b/meta-rcar-gen3-adas/conf/layer.conf
index 666405a..a091d3a 100644
--- a/meta-rcar-gen3-adas/conf/layer.conf
+++ b/meta-rcar-gen3-adas/conf/layer.conf
@@ -10,120 +10,3 @@ BBFILES += " \
BBFILE_COLLECTIONS += "rcar-gen3-adas"
BBFILE_PATTERN_rcar-gen3-adas := "^${LAYERDIR}/"
BBFILE_PRIORITY_rcar-gen3-adas = "7"
-
-# Custom packages
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-modules \
- kernel-devicetree \
- can-utils \
- libsocketcan \
- iproute2 \
- iproute2-tc \
- linuxptp \
- spidev-dbg spidev-test \
- e2fsprogs \
- e2fsprogs-tune2fs \
- ethtool \
- pciutils \
- usbutils \
- util-linux \
- mtd-utils \
- capture \
- v4l2-fw \
- iperf \
- bonnie++ \
- lmbench \
- strace \
- libpcap \
- eglibc-utils \
- ldd \
- procps \
- rsync \
- mm-init \
- iio-utils \
- pulseaudio-server \
- pulseaudio-misc \
- pulseaudio-module-cli \
- pulseaudio-module-remap-sink \
- pulseaudio-module-remap-source \
- pulseaudio-module-loopback \
- gstreamer1.0-plugins-good-pulse \
- gdbserver \
- most-tools \
- perf \
- dropbear \
- opkg \
- git \
- git-perltools \
- subversion \
- nano \
- cmake \
- make \
- gcc \
- g++ \
- gdb \
- vim \
- trace-cmd \
-"
-
-# Radio packages
-IMAGE_INSTALL_append_rcar-gen3 += " \
- si-tools \
- linux-firmware-wl18xx \
- wireless-tools \
- ti-bt \
- ti-bt-firmware \
- bluez5 \
- bluez5-testtools \
- pulseaudio-module-bluez5-device \
- pulseaudio-module-bluez5-discover \
- pulseaudio-module-bluetooth-discover \
- pulseaudio-module-bluetooth-policy \
- ofono \
- ofono-tests \
- br-test \
-"
-
-# IMP
-IMAGE_INSTALL_append_r8a7797 += " \
- kernel-module-uio-imp \
- kernel-module-cmemdrv \
- udev-rules-cvlib \
-"
-
-IMAGE_INSTALL_append_r8a7798 += " \
- kernel-module-uio-imp \
- kernel-module-cmemdrv \
- udev-rules-cvlib \
-"
-
-# ISP
-IMAGE_INSTALL_append_r8a7797 += " \
- kernel-module-uio-isp \
-"
-
-IMAGE_INSTALL_append_r8a7798 += " \
- kernel-module-uio-isp \
-"
-
-DISTRO_FEATURES_remove="x11"
-DISTRO_FEATURES_append = " surroundview "
-DISTRO_FEATURES_append = " opencv-sdk "
-DISTRO_FEATURES_append = " bluetooth"
-DISTRO_FEATURES_append = " pulseaudio"
-
-IMAGE_INSTALL_remove = "gtk+3-demo clutter-1.0-examples"
-
-EXTRA_IMAGE_FEATURES_append_rcar-gen3 = " eclipse-debug"
-
-EX_IMG_FEATURES = " \
- dev-pkgs \
- tools-sdk \
- tools-profile \
- tools-debug \
- package-management \
-"
-EXTRA_IMAGE_FEATURES_append_r8a7797 += " ${EX_IMG_FEATURES}"
-EXTRA_IMAGE_FEATURES_append_r8a7798 += " ${EX_IMG_FEATURES}"
-
-PREFERRED_VERSION_opencv = "2.4%"
diff --git a/meta-rcar-gen3-adas/recipes-bsp/linux-firmware/linux-firmware_git.bbappend b/meta-rcar-gen3-adas/recipes-bsp/linux-firmware/linux-firmware_git.bbappend
deleted file mode 100644
index fdee4b0..0000000
--- a/meta-rcar-gen3-adas/recipes-bsp/linux-firmware/linux-firmware_git.bbappend
+++ /dev/null
@@ -1,15 +0,0 @@
-LICENSE_${PN}-rtl8188eu = "Firmware-rtlwifi_firmware"
-
-FILES_${PN}-rtl8188eu = " \
- /lib/firmware/rtlwifi/rtl8188eufw*.bin \
-"
-
-RDEPENDS_${PN}-rtl8188eu += "${PN}-rtl-license"
-
-PACKAGES =+ " ${PN}-rtl8188eu"
-
-FILES_${PN}-ath9k += " \
- /lib/firmware/ath9k_htc/htc*.fw \
-"
-
-
diff --git a/meta-rcar-gen3-adas/recipes-bsp/si-tools/files/si-tools-fm-improvements.patch b/meta-rcar-gen3-adas/recipes-bsp/si-tools/files/si-tools-fm-improvements.patch
new file mode 100644
index 0000000..9bbccad
--- /dev/null
+++ b/meta-rcar-gen3-adas/recipes-bsp/si-tools/files/si-tools-fm-improvements.patch
@@ -0,0 +1,184 @@
+FM configuration improvements
+
+Changes include:
+- Add command-line option for selecting FM band plan. The default
+ band plan is US / Canada.
+- Add command-line options for setting FM scanning valid SNR and RSSI
+ thresholds to allow tweaking sensitivity in poor radio environments.
+- Increased seeking scan timeout to 3 seconds, which seems to improve
+ behavior in poor radio environments where powerful stations may be
+ far apart.
+- Removed explicit setting of FM_SOFTMUTE_SNR_LIMITS, as it seemed
+ like it might be resulting in odd muting behavior when scanning.
+- Changed initial FM frequency if not specified to the minimum of the
+ band plan.
+
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+diff --git a/si46xx.h b/si46xx.h
+index 172ea8b..c32fca4 100644
+--- a/si46xx.h
++++ b/si46xx.h
+@@ -83,6 +83,7 @@
+ #define SI46XX_PIN_CONFIG_ENABLE 0x0800
+ #define SI46XX_FM_SEEK_BAND_BOTTOM 0x3100
+ #define SI46XX_FM_SEEK_BAND_TOP 0x3101
++#define SI46XX_FM_SEEK_FREQUENCY_SPACING 0x3102
+ #define SI46XX_FM_VALID_MAX_TUNE_ERROR 0x3200
+ #define SI46XX_FM_VALID_RSSI_TIME 0x3201
+ #define SI46XX_FM_VALID_RSSI_THRESHOLD 0x3202
+@@ -150,7 +151,7 @@
+ #define MAX_SERVICES 32
+ #define MAX_COMPONENTS 15
+
+-#define TIMEOUT_SEEK 2000 /* mS = 2S */
++#define TIMEOUT_SEEK 3000 /* mS = 3S */
+ #define TIMEOUT_TUNE 500 /* mS = .5S */
+
+ struct dab_service_t{
+diff --git a/si_ctl.c b/si_ctl.c
+index 59dfaf2..f168218 100644
+--- a/si_ctl.c
++++ b/si_ctl.c
+@@ -101,6 +101,26 @@ uint32_t frequency_list_ch[] = { CHAN_12A,
+ CHAN_9D,
+ CHAN_8B};
+
++// Structure to describe FM band plans, all values in Hz.
++typedef struct {
++ char *name;
++ uint32_t min;
++ uint32_t max;
++ uint32_t step;
++} fm_band_plan_t;
++
++static fm_band_plan_t known_fm_band_plans[5] = {
++ { .name = "US", .min = 87900000, .max = 107900000, .step = 200000 },
++ { .name = "JP", .min = 76000000, .max = 95000000, .step = 100000 },
++ { .name = "EU", .min = 87500000, .max = 108000000, .step = 50000 },
++ { .name = "ITU-1", .min = 87500000, .max = 108000000, .step = 50000 },
++ { .name = "ITU-2", .min = 87900000, .max = 107900000, .step = 50000 }
++};
++
++static unsigned int fm_band_plan;
++static int fm_snr_threshold = 128;
++static int fm_rssi_threshold = 128;
++
+ int init_am(int offset)
+ {
+ int ret;
+@@ -160,12 +180,32 @@ int init_fm(int offset)
+ * enable I2S output
+ */
+ si46xx_set_property(SI46XX_PIN_CONFIG_ENABLE, 0x0003);
+- //si46xx_set_property(SI46XX_FM_VALID_RSSI_THRESHOLD,0x0000);
+- //si46xx_set_property(SI46XX_FM_VALID_SNR_THRESHOLD,0x0000);
+- si46xx_set_property(SI46XX_FM_SOFTMUTE_SNR_LIMITS, 0x0000); // set the SNR limits for soft mute attenuation
++ //si46xx_set_property(SI46XX_FM_SOFTMUTE_SNR_LIMITS, 0x0000); // set the SNR limits for soft mute attenuation
+ si46xx_set_property(SI46XX_FM_TUNE_FE_CFG, 0x0000); // front end switch open
+- si46xx_set_property(SI46XX_FM_SEEK_BAND_BOTTOM, 88000 / 10);
+- si46xx_set_property(SI46XX_FM_SEEK_BAND_TOP, 108000 / 10);
++
++ //si46xx_set_property(SI46XX_FM_SEEK_BAND_BOTTOM, 88000 / 10);
++ //si46xx_set_property(SI46XX_FM_SEEK_BAND_TOP, 108000 / 10);
++ if (verbose)
++ fprintf(stderr, "Using FM Bandplan: %s\n", known_fm_band_plans[fm_band_plan].name);
++ si46xx_set_property(SI46XX_FM_SEEK_BAND_BOTTOM, known_fm_band_plans[fm_band_plan].min / 10000);
++ si46xx_set_property(SI46XX_FM_SEEK_BAND_TOP, known_fm_band_plans[fm_band_plan].max / 10000);
++ if (verbose)
++ fprintf(stderr, "Using FM band: %d - %d, %d spacing\n",
++ known_fm_band_plans[fm_band_plan].min / 10000,
++ known_fm_band_plans[fm_band_plan].max / 10000,
++ known_fm_band_plans[fm_band_plan].step / 10000);
++ si46xx_set_property(SI46XX_FM_SEEK_FREQUENCY_SPACING, known_fm_band_plans[fm_band_plan].step / 10000);
++ if (fm_snr_threshold != 128) {
++ if (verbose)
++ fprintf(stderr, "Setting FM valid SNR threshold to %d dB\n", fm_snr_threshold);
++ si46xx_set_property(SI46XX_FM_VALID_SNR_THRESHOLD, fm_snr_threshold);
++ }
++ if (fm_rssi_threshold != 128) {
++ if (verbose)
++ fprintf(stderr, "Setting FM valid RSSI threshold to %d dB\n", fm_rssi_threshold);
++ si46xx_set_property(SI46XX_FM_VALID_RSSI_THRESHOLD, fm_rssi_threshold);
++ }
++
+ /*
+ * rate
+ */
+@@ -190,6 +230,7 @@ int init_fm(int offset)
+
+ return 0;
+ }
++
+ int init_dab(int offset)
+ {
+ int ret;
+@@ -245,6 +286,10 @@ int output_help(char *prog_name)
+ printf(" -l up|down FM/AM seek next station\n");
+ printf(" -d FM/AM RSQ status\n");
+ printf(" -m FM rds status\n");
++ printf("Common FM:\n");
++ printf(" -p bandplan FM bandplan (us, jp, eu, itu-1, itu-2\n");
++ printf(" -t SNR FM scan valid SNR threshold (-127 to 127 dB)\n");
++ printf(" -u RSSI FM scan valid RSSI threshold (-127 to 127 dBuV)\n");
+ printf("DAB only:\n");
+ printf(" -e dab status\n");
+ printf(" -f service start service of dab service list\n");
+@@ -354,6 +399,7 @@ int main(int argc, char **argv)
+ int offset = - 1;
+ int mode;
+ int tmp;
++ unsigned int i;
+ struct dab_digrad_status_t dab_digrad_status;
+ bool init = false;
+ bool seek_up = false;
+@@ -374,7 +420,7 @@ int main(int argc, char **argv)
+
+ optind = 0;
+ while (optind < argc) {
+- if ((c = getopt(argc, argv, "a:b:c:def:ghi:j:k:l:mnosv")) != -1) {
++ if ((c = getopt(argc, argv, "a:b:c:def:ghi:j:k:l:mnop:st:u:v")) != -1) {
+ switch(c){
+ /* init */
+ case 'a':
+@@ -422,6 +468,31 @@ int main(int argc, char **argv)
+ case 'c':
+ frequency = atoi(optarg);
+ break;
++ /* FM */
++ case 'p':
++ for(i = 0;
++ i < sizeof(known_fm_band_plans) / sizeof(fm_band_plan_t);
++ i++) {
++ if(!strcasecmp(optarg, known_fm_band_plans[i].name)) {
++ fm_band_plan = i;
++ break;
++ }
++ }
++ if(i >= (sizeof(known_fm_band_plans) / sizeof(fm_band_plan_t))) {
++ printf("Invalid mode: %s\n", optarg);
++ return -EINVAL;
++ }
++ break;
++ case 't':
++ fm_snr_threshold = atoi(optarg);
++ if(fm_snr_threshold < -128 || fm_snr_threshold > 127)
++ fm_snr_threshold = 128; // use firmware default
++ break;
++ case 'u':
++ fm_rssi_threshold = atoi(optarg);
++ if(fm_rssi_threshold < -128 || fm_rssi_threshold > 127)
++ fm_rssi_threshold = 128; // use firmware default
++ break;
+ /* DAB stuff. TODO: rework */
+ case 'e':
+ si46xx_dab_digrad_status(&dab_digrad_status);
+@@ -473,7 +544,7 @@ int main(int argc, char **argv)
+ case SI46XX_MODE_FM:
+ ret = init_fm(offset);
+ if (frequency < 0)
+- frequency = 105500;
++ frequency = known_fm_band_plans[fm_band_plan].min / 1000;
+ break;
+ case SI46XX_MODE_AM:
+ ret = init_am(offset);
diff --git a/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bb b/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bb
index 5db9408..634000a 100644
--- a/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bb
+++ b/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bb
@@ -8,10 +8,13 @@ PV = "0.2"
SRC_URI = " \
file://si-tools.tar.gz \
+ file://si-tools-fm-improvements.patch \
"
S = "${WORKDIR}/si-tools"
+EXTRA_OEMAKE_append = " 'LDFLAGS=${LDFLAGS}'"
+
do_install() {
install -d ${D}${bindir}
install -d ${D}/lib/firmware/radio/
diff --git a/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bb b/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bb
deleted file mode 100644
index 3251662..0000000
--- a/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Bluetooth firmare files for WL18xx combo modules"
-SECTION = "misc"
-
-LICENSE = "CLOSED"
-
-PE = "1"
-PV = "0.0"
-
-SRC_URI = "git://github.com/TI-ECS/bt-firmware.git;protocol=git "
-SRCREV = "169b2df5b968f0ede32ea9044859942fc220c435"
-
-S = "${WORKDIR}/git"
-
-CLEANBROKEN = "1"
-
-do_populate_lic[noexec] = "1"
-do_compile[noexec] = "1"
-do_configure[noexec] = "1"
-
-do_install() {
- install -d ${D}/lib/firmware/ti-connectivity/
- cp *.bts ${D}/lib/firmware/ti-connectivity/
-}
-
-FILES_${PN} = "/lib/firmware/ti-connectivity/*" \ No newline at end of file
diff --git a/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot/0016-tools-fix-build-fail.patch b/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot/0016-tools-fix-build-fail.patch
deleted file mode 100644
index ab66851..0000000
--- a/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot/0016-tools-fix-build-fail.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 34b8d92c5139b37322548cc41c5c3a788c51d3ad Mon Sep 17 00:00:00 2001
-From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
-Date: Tue, 2 May 2017 12:55:23 +0300
-Subject: [PATCH] tools: fix build fail
-
-Build fail fix for CONFIG_ENV_IS_IN_SPI_FLASH
-
-Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
----
- tools/Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/tools/Makefile b/tools/Makefile
-index 4bbb153..12719ac 100644
---- a/tools/Makefile
-+++ b/tools/Makefile
-@@ -211,7 +211,8 @@ HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \
- -DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
- -DUSE_HOSTCC \
- -D__KERNEL_STRICT_NAMES \
-- -D_GNU_SOURCE
-+ -D_GNU_SOURCE \
-+ -include $(srctree)/include/generated/autoconf.h
-
- __build: $(LOGO-y)
-
---
-1.9.1
-
diff --git a/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot_2015.04.bbappend b/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot_2015.04.bbappend
index 0896fde..9653201 100644
--- a/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot_2015.04.bbappend
+++ b/meta-rcar-gen3-adas/recipes-bsp/u-boot/u-boot_2015.04.bbappend
@@ -1,5 +1,8 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+BRANCH = "v2015.04/rcar-3.5.9"
+SRCREV = "24add58d915191d901915a6a8cc44faa748fcaa2"
+
SRC_URI_append = " \
file://0001-net-phy-support-fixed-PHY.patch \
${@bb.utils.contains('MACHINE_FEATURES', 'h3ulcb-had', ' file://0002-net-ravb-remove-APSR-quirk.patch', '', d)} \
@@ -17,7 +20,6 @@ SRC_URI_append = " \
file://0013-mtd-spi-QSPI-flash-support.patch \
file://0014-arm-renesas-Add-Renesas-R8A7797-SoC-support.patch \
file://0015-board-renesas-Add-V3M-Eagle-board.patch \
- file://0016-tools-fix-build-fail.patch \
file://0017-board-renesas-Add-V3MSK-board.patch \
file://0018-arm-renesas-Add-Renesas-R8A7798-SoC-support.patch \
file://0019-board-renesas-Add-Condor-board.patch \
diff --git a/meta-rcar-gen3-adas/recipes-bsp/utest-apps/files/0001-utest-utest-common.c-Check-return-value-of-write.patch b/meta-rcar-gen3-adas/recipes-bsp/utest-apps/files/0001-utest-utest-common.c-Check-return-value-of-write.patch
new file mode 100644
index 0000000..80cf032
--- /dev/null
+++ b/meta-rcar-gen3-adas/recipes-bsp/utest-apps/files/0001-utest-utest-common.c-Check-return-value-of-write.patch
@@ -0,0 +1,44 @@
+From 1fd2e6ce6a443d20e6a103261860816fa5600591 Mon Sep 17 00:00:00 2001
+From: Tom Rini <trini@konsulko.com>
+Date: Wed, 20 Dec 2017 09:58:47 -0500
+Subject: [PATCH 1/1] utest/utest-common.c: Check return value of write()
+
+Signed-off-by: Tom Rini <trini@konsulko.com>
+---
+ utest/utest-common.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/utest/utest-common.c b/utest/utest-common.c
+index 38bd4714bccc..922b4bdc40a9 100644
+--- a/utest/utest-common.c
++++ b/utest/utest-common.c
+@@ -66,7 +66,7 @@ int intern_trace(const char *format, ...)
+ struct timespec ts;
+ static char buffer[4096];
+ char *p = buffer;
+- int n = sizeof(buffer), k;
++ int n = sizeof(buffer), k, ret;
+
+ /* ...retrieve value of monotonic clock */
+ clock_gettime(CLOCK_MONOTONIC, &ts);
+@@ -88,12 +88,15 @@ int intern_trace(const char *format, ...)
+ /* ...output string terminator */
+ (n > 0 ? *p++ = '\n' : 0);
+
+- write(intern_trace_fd, buffer, p - buffer);
++ ret = write(intern_trace_fd, buffer, p - buffer);
+
+ /* ...release tracing lock */
+ pthread_mutex_unlock(&intern_trace_mutex);
+
+- return 0;
++ if (ret != -1)
++ return 0;
++ else
++ return -1;
+ }
+
+ /* ...tracing facility initialization */
+--
+2.7.4
+
diff --git a/meta-rcar-gen3-adas/recipes-bsp/utest-apps/utest-cam-imr-drm.bb b/meta-rcar-gen3-adas/recipes-bsp/utest-apps/utest-cam-imr-drm.bb
index 48747ea..4c6be5b 100644
--- a/meta-rcar-gen3-adas/recipes-bsp/utest-apps/utest-cam-imr-drm.bb
+++ b/meta-rcar-gen3-adas/recipes-bsp/utest-apps/utest-cam-imr-drm.bb
@@ -7,6 +7,7 @@ S = "${WORKDIR}/utest-cam-imr-drm"
SRC_URI = " \
file://utest-cam-imr-drm.tar.gz \
+ file://0001-utest-utest-common.c-Check-return-value-of-write.patch \
"
DEPENDS = " \
diff --git a/meta-rcar-gen3-adas/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-rcar-gen3-adas/recipes-connectivity/bluez5/bluez5_%.bbappend
deleted file mode 100644
index 99b0ede..0000000
--- a/meta-rcar-gen3-adas/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-FILESEXTRAPATHS_append := "${THISDIR}/files:"
-
-SRC_URI_append_rcar-gen3 = " \
- file://main.conf \
-"
-
-PACKAGECONFIG_append = " experimental"
-
-NOINST_TOOLS_EXPERIMENTAL_remove = " tools/bdaddr"
-
-
-do_install_append_rcar-gen3() {
- install -d ${D}/etc/bluetooth
-
- install -m 644 ${WORKDIR}/main.conf ${D}/${sysconfdir}/bluetooth/
-}
diff --git a/meta-rcar-gen3-adas/recipes-connectivity/bluez5/files/main.conf b/meta-rcar-gen3-adas/recipes-connectivity/bluez5/files/main.conf
deleted file mode 100644
index d3e19f7..0000000
--- a/meta-rcar-gen3-adas/recipes-connectivity/bluez5/files/main.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-[Policy]
-AutoEnable=true
diff --git a/meta-rcar-gen3-adas/recipes-core/systemd/systemd/dummy0.network b/meta-rcar-gen3-adas/recipes-core/systemd/systemd/dummy0.network
deleted file mode 100644
index 054e17b..0000000
--- a/meta-rcar-gen3-adas/recipes-core/systemd/systemd/dummy0.network
+++ /dev/null
@@ -1,6 +0,0 @@
-[Match]
-Name=dummy0
-
-[Network]
-DHCP=no
-
diff --git a/meta-rcar-gen3-adas/recipes-core/systemd/systemd/eth0.network b/meta-rcar-gen3-adas/recipes-core/systemd/systemd/eth0.network
deleted file mode 100644
index 74951b4..0000000
--- a/meta-rcar-gen3-adas/recipes-core/systemd/systemd/eth0.network
+++ /dev/null
@@ -1,8 +0,0 @@
-[Match]
-Name=eth0
-
-[Network]
-DHCP=ipv4
-
-[DHCP]
-CriticalConnection=true
diff --git a/meta-rcar-gen3-adas/recipes-core/systemd/systemd_229.bbappend b/meta-rcar-gen3-adas/recipes-core/systemd/systemd_229.bbappend
deleted file mode 100644
index f4dc296..0000000
--- a/meta-rcar-gen3-adas/recipes-core/systemd/systemd_229.bbappend
+++ /dev/null
@@ -1,22 +0,0 @@
-FILESEXTRAPATHS_append := '${THISDIR}/${PN}:'
-
-PACKAGECONFIG += " networkd resolved "
-
-SRC_URI_append = "file://eth0.network"
-
-SRC_URI_append= '${@ " \
- file://dummy0.network \
-" if 'surroundview' in '${DISTRO_FEATURES}' else ""}'
-
-FILES_${PN} += "${sysconfdir}/systemd/network/*"
-
-USERADD_PARAM_${PN} += "; --system systemd-network "
-
-do_install_append() {
-
- install -d ${D}${sysconfdir}/systemd/network/
-
- install -m 0644 ${WORKDIR}/*.network ${D}${sysconfdir}/systemd/network/
-}
-
-PR="r2"
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch
deleted file mode 100644
index a78e195..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 9762fd23e1f1db66d4b977c694a17d3bca3fe99a Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Fri, 8 Jan 2016 16:36:29 +0200
-Subject: [PATCH] Remove tests that fail to build on some PPC32 configurations
-
-Failures are documented here:
-http://errors.yoctoproject.org/Errors/Search/?items=10&query=862d702fbb99e484631315aa44b9e46f8fc567da&filter=valgrind&type=recipe
-
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-Upstream-Status: Pending
----
- memcheck/tests/ppc32/Makefile.am | 2 +-
- none/tests/ppc32/Makefile.am | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/memcheck/tests/ppc32/Makefile.am b/memcheck/tests/ppc32/Makefile.am
-index 26b95a2..8f05743 100644
---- a/memcheck/tests/ppc32/Makefile.am
-+++ b/memcheck/tests/ppc32/Makefile.am
-@@ -10,7 +10,7 @@ EXTRA_DIST = $(noinst_SCRIPTS) \
- power_ISA2_07.stderr.exp power_ISA2_07.vgtest
-
- check_PROGRAMS = \
-- power_ISA2_05 power_ISA2_07
-+ power_ISA2_07
-
- power_ISA2_05_CFLAGS = $(AM_CFLAGS) $(WERROR) -Winline -Wall -Wshadow -g \
- -I$(top_srcdir)/include @FLAG_M32@
-diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am
-index 196239e..0fe3425 100644
---- a/none/tests/ppc32/Makefile.am
-+++ b/none/tests/ppc32/Makefile.am
-@@ -50,13 +50,13 @@ EXTRA_DIST = \
-
- check_PROGRAMS = \
- allexec \
-- lsw jm-insns round \
-+ lsw \
- test_isa_2_06_part1 test_isa_2_06_part2 test_isa_2_06_part3 \
- test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5 \
- test_isa_2_07_part1 test_isa_2_07_part2 \
- test_tm test_touch_tm ldst_multiple data-cache-instructions \
- test_fx test_gx \
-- testVMX twi tw xlc_dbl_u32 power5+_round power6_bcmp \
-+ twi tw xlc_dbl_u32 power6_bcmp \
- bug129390-ppc32 bug139050-ppc32 \
- ldstrev mftocrf mcrfs
-
---
-2.6.4
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch
deleted file mode 100644
index dc6feff..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0001-fix-build-for-musl-targets.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 1b1a024efd18d44294e184e792c1e039cab02bfe Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 14 Feb 2016 09:14:12 +0000
-Subject: [PATCH] fix build for musl targets
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- configure.ac | 2 --
- coregrind/vg_preloaded.c | 2 +-
- include/pub_tool_redir.h | 7 +++++--
- 3 files changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9366dc7..679f514 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1066,8 +1066,6 @@ case "${GLIBC_VERSION}" in
- ;;
- 2.0|2.1|*)
- AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
-- AC_MSG_ERROR([Valgrind requires glibc version 2.2 or later,])
-- AC_MSG_ERROR([Darwin libc, Bionic libc or Solaris libc])
- ;;
- esac
-
-diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
-index 2ea7a7a..e49c832 100644
---- a/coregrind/vg_preloaded.c
-+++ b/coregrind/vg_preloaded.c
-@@ -56,7 +56,7 @@
- void VG_NOTIFY_ON_LOAD(freeres)( void );
- void VG_NOTIFY_ON_LOAD(freeres)( void )
- {
--# if !defined(__UCLIBC__) \
-+# if !defined(__UCLIBC__) && defined(__GLIBC__) \
- && !defined(VGPV_arm_linux_android) \
- && !defined(VGPV_x86_linux_android) \
- && !defined(VGPV_mips32_linux_android) \
-diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
-index bac00d7..fbb2ef2 100644
---- a/include/pub_tool_redir.h
-+++ b/include/pub_tool_redir.h
-@@ -242,8 +242,7 @@
- /* --- Soname of the standard C library. --- */
-
- #if defined(VGO_linux) || defined(VGO_solaris)
--# define VG_Z_LIBC_SONAME libcZdsoZa // libc.so*
--
-+# define VG_Z_LIBC_SONAME libcZdZa // libc.*
- #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6)
- # define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib
-
-@@ -274,7 +273,11 @@
- /* --- Soname of the pthreads library. --- */
-
- #if defined(VGO_linux)
-+# if defined(__GLIBC__) || defined(__UCLIBC__)
- # define VG_Z_LIBPTHREAD_SONAME libpthreadZdsoZd0 // libpthread.so.0
-+# else
-+# define VG_Z_LIBPTHREAD_SONAME libcZdZa // libc.*
-+#endif
- #elif defined(VGO_darwin)
- # define VG_Z_LIBPTHREAD_SONAME libSystemZdZaZddylib // libSystem.*.dylib
- #elif defined(VGO_solaris)
---
-2.7.1
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch
deleted file mode 100644
index e9112da..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0002-remove-rpath.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f96cf1f4eaa72860ab8b5e18ad10fdc704d78c5f Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 15 Dec 2015 15:01:34 +0200
-Subject: [PATCH 2/5] remove rpath
-
-Upstream-Status: Inappropriate [embedded config]
-Signed-off-by: Saul Wold <sgw@linux.intel.com>
----
- none/tests/Makefile.am | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
-index 54f2a7e..25b0f49 100644
---- a/none/tests/Makefile.am
-+++ b/none/tests/Makefile.am
-@@ -326,7 +326,6 @@ threadederrno_CFLAGS += --std=c99
- endif
- tls_SOURCES = tls.c tls2.c
- tls_DEPENDENCIES = tls.so tls2.so
--tls_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/none/tests
- tls_LDADD = tls.so tls2.so -lpthread
- tls_so_SOURCES = tls_so.c
- tls_so_DEPENDENCIES = tls2.so
-@@ -334,7 +333,7 @@ if VGCONF_OS_IS_DARWIN
- tls_so_LDFLAGS = -dynamic -dynamiclib -all_load -fpic
- tls_so_LDADD = `pwd`/tls2.so
- else
-- tls_so_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/none/tests -shared -fPIC
-+ tls_so_LDFLAGS = -shared -fPIC
- tls_so_LDADD = tls2.so
- endif
- tls_so_CFLAGS = $(AM_CFLAGS) -fPIC
---
-2.6.2
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
deleted file mode 100644
index ed313d6..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0004-Fix-out-of-tree-builds.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-From 38ae233b6893a4eec7f9ed6d8ad02392bca8eaed Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 15 Dec 2015 15:31:50 +0200
-Subject: [PATCH 1/2] Fix out of tree builds.
-
-The paths to these files need to be fully specified in
-the out of tree build case. glibc-2.X.supp is a generated file so the full path
-is deliberately not specified in that case.
-
-RP 2013/03/23
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
-
----
- configure.ac | 64 ++++++++++++++++++++++++++++++------------------------------
- 1 file changed, 32 insertions(+), 32 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8ab7f9b..9366dc7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -377,44 +377,44 @@ case "${host_os}" in
- 9.*)
- AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}"
- ;;
- 10.*)
- AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- 11.*)
- AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- 12.*)
- AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- 13.*)
- AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_9, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- 14.*)
- AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_10, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- 15.*)
- AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan])
- AC_DEFINE([DARWIN_VERS], DARWIN_10_11, [Darwin / Mac OS X version])
-- DEFAULT_SUPP="darwin15.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}"
- ;;
- *)
- AC_MSG_RESULT([unsupported (${kernel})])
-@@ -426,13 +426,13 @@ case "${host_os}" in
- solaris2.11*)
- AC_MSG_RESULT([ok (${host_os})])
- VGCONF_OS="solaris"
-- DEFAULT_SUPP="solaris11.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/solaris11.supp ${DEFAULT_SUPP}"
- ;;
-
- solaris2.12*)
- AC_MSG_RESULT([ok (${host_os})])
- VGCONF_OS="solaris"
-- DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/solaris12.supp ${DEFAULT_SUPP}"
- ;;
-
- *)
-@@ -1015,29 +1015,29 @@ AC_MSG_CHECKING([the glibc version])
- case "${GLIBC_VERSION}" in
- 2.2)
- AC_MSG_RESULT(${GLIBC_VERSION} family)
-- DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
- 2.[[3-6]])
- AC_MSG_RESULT(${GLIBC_VERSION} family)
-- DEFAULT_SUPP="glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
- 2.[[7-9]])
- AC_MSG_RESULT(${GLIBC_VERSION} family)
- DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
- 2.10|2.11)
- AC_MSG_RESULT(${GLIBC_VERSION} family)
- AC_DEFINE([GLIBC_MANDATORY_STRLEN_REDIRECT], 1,
- [Define to 1 if strlen() has been optimized heavily (amd64 glibc >= 2.10)])
- DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
- 2.*)
- AC_MSG_RESULT(${GLIBC_VERSION} family)
-@@ -1046,8 +1046,8 @@ case "${GLIBC_VERSION}" in
- AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1,
- [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)])
- DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/glibc-2.X-drd.supp ${DEFAULT_SUPP}"
- ;;
- darwin)
- AC_MSG_RESULT(Darwin)
-@@ -1057,7 +1057,7 @@ case "${GLIBC_VERSION}" in
- bionic)
- AC_MSG_RESULT(Bionic)
- AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic])
-- DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/bionic.supp ${DEFAULT_SUPP}"
- ;;
- solaris)
- AC_MSG_RESULT(Solaris)
-@@ -1079,11 +1079,11 @@ if test "$VGCONF_OS" != "solaris"; then
- # attempt to detect whether such libraries are installed on the
- # build machine (or even if any X facilities are present); just
- # add the suppressions antidisirregardless.
-- DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}"
-- DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}"
-
- # Add glibc and X11 suppressions for exp-sgcheck
-- DEFAULT_SUPP="exp-sgcheck.supp ${DEFAULT_SUPP}"
-+ DEFAULT_SUPP="$srcdir/exp-sgcheck.supp ${DEFAULT_SUPP}"
- fi
-
-
---
-2.6.2
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch
deleted file mode 100644
index 7985308..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-From f49f27f1bc67d07440b0ac9a7d767a8ea1589bfe Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Tue, 15 Dec 2015 15:50:44 +0200
-Subject: [PATCH 5/5] Modify vg_test wrapper to support PTEST formats
-
-Change the valgrind regression test script vg_regtest to
-support the yocto ptest stdout reporting format. The commit adds
-'--yocto-ptest' as an optional argument to vg_regtest, which alters
-the output to use the ptest infrastructure reporting format:
- "[PASS|SKIP|FAIL]: testname"
-instead of valgrind's internal test reporting format. Without the added
-option, --yocto-ptest, the valgrind regression test output is unchanged.
-
-Enforce 30 seconds limit for the test.
-This resume execution of the remaining tests when valgrind hangs.
-
-Upstream-Status: Pending
-
-Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
-Signed-off-by: Tudor Florea <tudor.florea@enea.com>
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- tests/vg_regtest.in | 75 +++++++++++++++++++++++++++++++++++++++--------------
- 1 file changed, 55 insertions(+), 20 deletions(-)
-
-diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
-index a441f42..cb05b52 100755
---- a/tests/vg_regtest.in
-+++ b/tests/vg_regtest.in
-@@ -47,6 +47,7 @@
- # --loop-till-fail: loops on the test(s) till one fail, then exit
- # This is useful to obtain detailed trace or --keep-unfiltered
- # output of a non deterministic test failure
-+# --yocto-ptest: output in yocto ptest format
- #
- # The easiest way is to run all tests in valgrind/ with (assuming you installed
- # in $PREFIX):
-@@ -139,7 +140,7 @@ my $usage="\n"
- . "Usage:\n"
- . " vg_regtest [--all, --valgrind, --valgrind-lib, --keep-unfiltered\n"
- . " --outer-valgrind, --outer-tool, --outer-args\n"
-- . " --loop-till-fail]\n"
-+ . " --loop-till-fail, --yocto-ptest]\n"
- . " Use EXTRA_REGTEST_OPTS to supply extra args for all tests\n"
- . "\n";
-
-@@ -186,6 +187,7 @@ my $outer_args;
- my $valgrind_lib = "$tests_dir/.in_place";
- my $keepunfiltered = 0;
- my $looptillfail = 0;
-+my $yoctoptest = 0;
-
- # default filter is the one named "filter_stderr" in the test's directory
- my $default_stderr_filter = "filter_stderr";
-@@ -244,6 +246,8 @@ sub process_command_line()
- $keepunfiltered = 1;
- } elsif ($arg =~ /^--loop-till-fail$/) {
- $looptillfail = 1;
-+ } elsif ($arg =~ /^--yocto-ptest$/) {
-+ $yoctoptest = 1;
- } else {
- die $usage;
- }
-@@ -365,13 +369,28 @@ sub read_vgtest_file($)
- #----------------------------------------------------------------------------
- # Since most of the program time is spent in system() calls, need this to
- # propagate a Ctrl-C enabling us to quit.
--sub mysystem($)
-+# Enforce 30 seconds limit for the test.
-+# This resume execution of the remaining tests if valgrind hangs.
-+sub mysystem($)
- {
-- my $exit_code = system($_[0]);
-- ($exit_code == 2) and exit 1; # 2 is SIGINT
-- return $exit_code;
-+ my $exit_code=0;
-+ eval {
-+ local $SIG{'ALRM'} = sub { die "timed out\n" };
-+ alarm(30);
-+ $exit_code = system($_[0]);
-+ alarm (0);
-+ ($exit_code == 2) and die "SIGINT\n"; # 2 is SIGINT
-+ };
-+ if ($@) {
-+ if ($@ eq "timed out\n") {
-+ print "timed out\n";
-+ return 1;
-+ }
-+ if ($@ eq "SIGINT\n") {
-+ exit 1;
-+ }
-+ }
- }
--
- # if $keepunfiltered, copies $1 to $1.unfiltered.out
- # renames $0 tp $1
- sub filtered_rename($$)
-@@ -419,23 +438,25 @@ sub do_diffs($$$$)
- # A match; remove .out and any previously created .diff files.
- unlink("$name.$mid.out");
- unlink(<$name.$mid.diff*>);
-- return;
-+ return 0;
- }
- }
- }
- # If we reach here, none of the .exp files matched.
-- print "*** $name failed ($mid) ***\n";
-+ print "*** $name failed ($mid) ***\n" if ($yoctoptest == 0) ;
- push(@failures, sprintf("%-40s ($mid)", "$fullname"));
- $num_failures{$mid}++;
- if ($looptillfail == 1) {
- print "Failure encountered, stopping to loop\n";
- exit 1
- }
-+ return 1;
- }
-
- sub do_one_test($$)
- {
- my ($dir, $vgtest) = @_;
-+ my $diffStatus = 0;
- $vgtest =~ /^(.*)\.vgtest/;
- my $name = $1;
- my $fullname = "$dir/$name";
-@@ -454,7 +475,11 @@ sub do_one_test($$)
- } elsif (256 == $prereq_res) {
- # Nb: weird Perl-ism -- exit code of '1' is seen by Perl as 256...
- # Prereq failed, skip.
-- printf("%-16s (skipping, prereq failed: $prereq)\n", "$name:");
-+ if ($yoctoptest == 0) {
-+ printf("%-16s (skipping, prereq failed: $prereq)\n", "$name:");
-+ } else {
-+ printf("SKIP: $fullname\n");
-+ }
- return;
- } else {
- # Bad prereq; abort.
-@@ -472,7 +497,7 @@ sub do_one_test($$)
- }
- # If there is a progB, let's start it in background:
- printf("%-16s valgrind $extraopts $vgopts $prog $args (progB: $progB $argsB)\n",
-- "$name:");
-+ "$name:") if ($yoctoptest == 0);
- # progB.done used to detect child has finished. See below.
- # Note: redirection of stdout and stderr is before $progB to allow argsB
- # to e.g. redirect stdoutB to stderrB
-@@ -488,7 +513,8 @@ sub do_one_test($$)
- . "touch progB.done) &");
- }
- } else {
-- printf("%-16s valgrind $extraopts $vgopts $prog $args\n", "$name:");
-+ printf("%-16s valgrind $extraopts $vgopts $prog $args\n", "$name:")
-+ if ($yoctoptest == 0);
- }
-
- # Collect environment variables, if any.
-@@ -529,7 +555,7 @@ sub do_one_test($$)
- # Find all the .stdout.exp files. If none, use /dev/null.
- my @stdout_exps = <$name.stdout.exp*>;
- @stdout_exps = ( "/dev/null" ) if (0 == scalar @stdout_exps);
-- do_diffs($fullname, $name, "stdout", \@stdout_exps);
-+ $diffStatus |= do_diffs($fullname, $name, "stdout", \@stdout_exps);
-
- # Filter stderr
- $stderr_filter_args = $name if (! defined $stderr_filter_args);
-@@ -538,7 +564,7 @@ sub do_one_test($$)
- # Find all the .stderr.exp files. At least one must exist.
- my @stderr_exps = <$name.stderr.exp*>;
- (0 != scalar @stderr_exps) or die "Could not find `$name.stderr.exp*'\n";
-- do_diffs($fullname, $name, "stderr", \@stderr_exps);
-+ $diffStatus |= do_diffs($fullname, $name, "stderr", \@stderr_exps);
-
- if (defined $progB) {
- # wait for the child to be finished
-@@ -562,7 +588,7 @@ sub do_one_test($$)
- # Find all the .stdoutB.exp files. If none, use /dev/null.
- my @stdoutB_exps = <$name.stdoutB.exp*>;
- @stdoutB_exps = ( "/dev/null" ) if (0 == scalar @stdoutB_exps);
-- do_diffs($fullname, $name, "stdoutB", \@stdoutB_exps);
-+ $diffStatus |= do_diffs($fullname, $name, "stdoutB", \@stdoutB_exps);
-
- # Filter stderr
- $stderrB_filter_args = $name if (! defined $stderrB_filter_args);
-@@ -571,7 +597,7 @@ sub do_one_test($$)
- # Find all the .stderrB.exp files. At least one must exist.
- my @stderrB_exps = <$name.stderrB.exp*>;
- (0 != scalar @stderrB_exps) or die "Could not find `$name.stderrB.exp*'\n";
-- do_diffs($fullname, $name, "stderrB", \@stderrB_exps);
-+ $diffStatus |= do_diffs($fullname, $name, "stderrB", \@stderrB_exps);
- }
-
- # Maybe do post-test check
-@@ -583,7 +609,7 @@ sub do_one_test($$)
- # Find all the .post.exp files. If none, use /dev/null.
- my @post_exps = <$name.post.exp*>;
- @post_exps = ( "/dev/null" ) if (0 == scalar @post_exps);
-- do_diffs($fullname, $name, "post", \@post_exps);
-+ $diffStatus |= do_diffs($fullname, $name, "post", \@post_exps);
- }
- }
-
-@@ -592,6 +618,13 @@ sub do_one_test($$)
- print("(cleanup operation failed: $cleanup)\n");
- }
-
-+ if ($yoctoptest == 1) {
-+ if ($diffStatus == 0) {
-+ print("PASS: $fullname\n");
-+ } else {
-+ print("FAIL: $fullname\n");
-+ }
-+ }
- $num_tests_done++;
- }
-
-@@ -631,7 +664,7 @@ sub test_one_dir($$)
- my $found_tests = (0 != (grep { $_ =~ /\.vgtest$/ } @fs));
-
- if ($found_tests) {
-- print "-- Running tests in $full_dir $dashes\n";
-+ print "-- Running tests in $full_dir $dashes\n" if ($yoctoptest == 0);
- }
- foreach my $f (@fs) {
- if (-d $f) {
-@@ -641,7 +674,7 @@ sub test_one_dir($$)
- }
- }
- if ($found_tests) {
-- print "-- Finished tests in $full_dir $dashes\n";
-+ print "-- Finished tests in $full_dir $dashes\n" if ($yoctoptest == 0);
- }
-
- chdir("..");
-@@ -667,10 +700,12 @@ sub summarise_results
- $num_failures{"stdout"}, plural($num_failures{"stdout"}),
- $num_failures{"stderrB"}, plural($num_failures{"stderrB"}),
- $num_failures{"stdoutB"}, plural($num_failures{"stdoutB"}),
-- $num_failures{"post"}, plural($num_failures{"post"}));
-+ $num_failures{"post"}, plural($num_failures{"post"}))
-+ if ($yoctoptest == 0);
-
- foreach my $failure (@failures) {
-- print "$failure\n";
-+ print "$failure\n"
-+ if ($yoctoptest == 0);
- }
- print "\n";
- }
---
-2.6.2
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
deleted file mode 100644
index 07774f3..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 0bf4b0ac18d1ea41b32ad781d214b295ca1998f3 Mon Sep 17 00:00:00 2001
-From: Aneesh Bansal <aneesh.bansal@freescale.com>
-Date: Mon, 21 Nov 2011 17:31:39 +0530
-Subject: [PATCH] Added support for PPC instructions mfatbu, mfatbl.
-
-Upstream-Status: Pending
-
-Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com>
----
-Currently Valgrind 3.7.0 does not have support for PPC instructions mfatbu and mfatbl. When we run a USDPAA application with VALGRIND, the following error is given by valgrind :
-dis_proc_ctl(ppc)(mfspr,SPR)(0x20F)
-disInstr(ppc): unhandled instruction: 0x7C0F82A6
-
-
- VEX/priv/guest_ppc_defs.h | 2 ++
- VEX/priv/guest_ppc_helpers.c | 18 ++++++++++++++++++
- VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++
- 3 files changed, 42 insertions(+), 0 deletions(-)
-
-diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h
-index dd3c62e..11a34aa 100644
---- a/VEX/priv/guest_ppc_defs.h
-+++ b/VEX/priv/guest_ppc_defs.h
-@@ -146,6 +146,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268_269 ( UInt );
-
- extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void );
-
-+extern UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt );
-+
- extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst,
- UInt vD_idx, UInt sh,
- UInt shift_right );
-diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c
-index 11aa428..b49ea3f 100644
---- a/VEX/priv/guest_ppc_helpers.c
-+++ b/VEX/priv/guest_ppc_helpers.c
-@@ -119,6 +119,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void )
- # endif
- }
-
-+/* CALLED FROM GENERATED CODE */
-+/* DIRTY HELPER (non-referentially transparent) */
-+UInt ppc32g_dirtyhelper_MFSPR_526_527 ( UInt r527 )
-+{
-+# if defined(__powerpc__) || defined(_AIX)
-+ UInt spr;
-+ if (r527) {
-+ __asm__ __volatile__("mfspr %0,527" : "=b"(spr));
-+ } else {
-+ __asm__ __volatile__("mfspr %0,526" : "=b"(spr));
-+ }
-+ return spr;
-+# else
-+ return 0;
-+# endif
-+}
-+
-+
-
- /* CALLED FROM GENERATED CODE */
- /* DIRTY HELPER (reads guest state, writes guest mem) */
-diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c
-index f8d220d..37c8974 100644
---- a/VEX/priv/guest_ppc_toIR.c
-+++ b/VEX/priv/guest_ppc_toIR.c
-@@ -5657,6 +5657,28 @@ static Bool dis_proc_ctl ( VexAbiInfo* vbi, UInt theInstr )
- break;
- }
-
-+
-+ case 526 /* 0x20E */:
-+ case 527 /* 0x20F */: {
-+ UInt arg = SPR==526 ? 0 : 1;
-+ IRTemp val = newTemp(Ity_I32);
-+ IRExpr** args = mkIRExprVec_1( mkU32(arg) );
-+ IRDirty* d = unsafeIRDirty_1_N(
-+ val,
-+ 0/*regparms*/,
-+ "ppc32g_dirtyhelper_MFSPR_526_527",
-+ fnptr_to_fnentry
-+ (vbi, &ppc32g_dirtyhelper_MFSPR_526_527),
-+ args
-+ );
-+ /* execute the dirty call, dumping the result in val. */
-+ stmt( IRStmt_Dirty(d) );
-+ putIReg( rD_addr,
-+ mkWidenFrom32(ty, mkexpr(val), False/*unsigned*/) );
-+ DIP("mfspr r%u,%u", rD_addr, (UInt)SPR);
-+ break;
-+ }
-+
- default:
- vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR);
- return False;
---
-1.7.0.4
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
deleted file mode 100644
index 5fcfec0..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/avoid-neon-for-targets-which-don-t-support-it.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 8facc29c3c56e6cf9cfef70986cf73876044a3fb Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 19 Jan 2016 16:42:36 -0800
-Subject: [PATCH] avoid neon for targets which don't support it
-
-The sh-mem-random.c test app tries to use neon loads and stores to
-test 64-bit float copies when building for ARM. Allow it to do so if
-possible, but fallback to C when building for ARM targets which don't
-support neon.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- memcheck/tests/sh-mem-random.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/memcheck/tests/sh-mem-random.c b/memcheck/tests/sh-mem-random.c
-index ae82248..816e139 100644
---- a/memcheck/tests/sh-mem-random.c
-+++ b/memcheck/tests/sh-mem-random.c
-@@ -191,7 +191,7 @@ void do_test_at ( U1* arr )
- "emms"
- : : "r"(arr+dst), "r"(arr+src) : "memory"
- );
--#elif defined(__linux__) && defined(__arm__) && !defined(__aarch64__)
-+#elif defined(__linux__) && defined(__arm__) && defined(__ARM_NEON__) && !defined(__aarch64__)
- /* On arm32, many compilers generate a 64-bit float move
- using two 32 bit integer registers, which completely
- defeats this test. Hence force a 64-bit NEON load and
---
-1.9.1
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch
deleted file mode 100644
index b431d33..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/fixed-perl-path.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 67e7a690107efb16d6d5aebfe420b64a552accdf Mon Sep 17 00:00:00 2001
-From: Qing He <qing.he@intel.com>
-Date: Tue, 31 Aug 2010 22:51:58 +0800
-Subject: [PATCH] valgrind: fix perl scripts
-
-this is a temporary patch to workaround cross compilation.
-otherwise @PERL@ will be replaced to perl-native binary,
-this creates unusable scripts and fails FILERDEPENDS mechanism
-(esp. rpm)
-
-a better fix would need:
- 1. configure.ac should differentiate PERL and HOSTPERL
- 2. optionally remove ${STAGING_DIR} in #! line before do_install
-
-8/31/2010 - created by Qing He <qing.he@intel.com>
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- cachegrind/cg_annotate.in | 2 +-
- cachegrind/cg_diff.in | 2 +-
- massif/ms_print.in | 2 +-
- perf/vg_perf.in | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in
-index 69365e8..978265d 100644
---- a/cachegrind/cg_annotate.in
-+++ b/cachegrind/cg_annotate.in
-@@ -1,4 +1,4 @@
--#! @PERL@
-+#! /usr/bin/perl
-
- ##--------------------------------------------------------------------##
- ##--- Cachegrind's annotator. cg_annotate.in ---##
-diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in
-index 395460b..05873cc 100755
---- a/cachegrind/cg_diff.in
-+++ b/cachegrind/cg_diff.in
-@@ -1,4 +1,4 @@
--#! @PERL@
-+#! /usr/bin/perl
-
- ##--------------------------------------------------------------------##
- ##--- Cachegrind's differencer. cg_diff.in ---##
-diff --git a/massif/ms_print.in b/massif/ms_print.in
-index e6fae89..3b85b40 100755
---- a/massif/ms_print.in
-+++ b/massif/ms_print.in
-@@ -1,4 +1,4 @@
--#! @PERL@
-+#! /usr/bin/perl
-
- ##--------------------------------------------------------------------##
- ##--- Massif's results printer ms_print.in ---##
-diff --git a/perf/vg_perf.in b/perf/vg_perf.in
-index 7a80cb0..28f6156 100644
---- a/perf/vg_perf.in
-+++ b/perf/vg_perf.in
-@@ -1,4 +1,4 @@
--#! @PERL@
-+#! /usr/bin/perl
- ##--------------------------------------------------------------------##
- ##--- Valgrind performance testing script vg_perf ---##
- ##--------------------------------------------------------------------##
-diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
-index cb05b52..032e947 100755
---- a/tests/vg_regtest.in
-+++ b/tests/vg_regtest.in
-@@ -1,4 +1,4 @@
--#! @PERL@
-+#! /usr/bin/perl
- ##--------------------------------------------------------------------##
- ##--- Valgrind regression testing script vg_regtest ---##
- ##--------------------------------------------------------------------##
----
-2.4.0
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/run-ptest b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/run-ptest
deleted file mode 100755
index f9a72ec..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/run-ptest
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-# run-ptest - 'ptest' test infrastructure shell script that
-# wraps the valgrind regression script vg_regtest.
-# Must be run in the /usr/lib/valgrind/ptest directory.
-#
-# Dave Lerner <dave.lerner@windriver.com>
-###############################################################
-VALGRINDLIB=@libdir@/valgrind
-tests/vg_regtest --all \
- --valgrind=/usr/bin/valgrind --valgrind-lib=$VALGRINDLIB \
- --yocto-ptest
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
deleted file mode 100644
index adea405..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From d134dafc2f11e0d247420a0ba360bcdef77b4093 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 19 Jan 2016 16:00:00 -0800
-Subject: [PATCH] use appropriate -march/-mcpu/-mfpu for ARM test apps
-
-Ensure that test apps in none/tests/arm are compiled with appropriate
--march/-mcpu/-mfpu flags to support the instructions being tested.
-The aim is to build all tests, even ones which may not run correctly
-on all target CPUs.
-
-For tests requiring armv7ve instructions, ensure that we set both
--march=armv7ve and -mcpu=cortex-a15 (since some TUNE_CCARGS may set
--march=armv7-a and adding -mcpu=cortex-a15 alone is not enough to
-over-ride that).
-
-See similar cases in none/tests/arm/Makefile.am
-
-Upstream-Status: Pending
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
----
- none/tests/arm/Makefile.am | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
-index 4507a20..825290f 100644
---- a/none/tests/arm/Makefile.am
-+++ b/none/tests/arm/Makefile.am
-@@ -62,8 +62,10 @@ neon64_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
- -mfpu=neon \
- -mthumb
-
--intdiv_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
-+intdiv_CFLAGS = $(AM_CFLAGS) -g -march=armv7ve -mcpu=cortex-a15 -mthumb
- ldrt_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
- ldrt_arm_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -marm
-
--vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a15 -mfpu=vfpv4 -marm
-+vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mfpu=vfpv3
-+
-+vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm
---
-1.9.1
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
deleted file mode 100644
index d04297d..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 005bd11809a1ce65e9f2c28e884354a4741650b9 Mon Sep 17 00:00:00 2001
-From: Andre McCurdy <armccurdy@gmail.com>
-Date: Tue, 13 Dec 2016 11:29:55 +0800
-Subject: [PATCH] make ld-XXX.so strlen intercept optional
-
-Hack: Depending on how glibc was compiled (e.g. optimised for size or
-built with _FORTIFY_SOURCE enabled) the strlen symbol might not be
-found in ld-XXX.so. Therefore although we should still try to
-intercept it, don't make it mandatory to do so.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- coregrind/m_redir.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
-index ff35009..d7d6816 100644
---- a/coregrind/m_redir.c
-+++ b/coregrind/m_redir.c
-@@ -1275,7 +1275,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt,
- spec->to_addr = to_addr;
- spec->isWrap = False;
- spec->isGlobal = False;
-- spec->mandatory = mandatory;
-+
-+ /* Hack: Depending on how glibc was compiled (e.g. optimised for size or
-+ built with _FORTIFY_SOURCE enabled) the strlen symbol might not be found.
-+ Therefore although we should still try to intercept it, don't make it
-+ mandatory to do so. We over-ride "mandatory" here to avoid the need to
-+ patch the many different architecture specific callers to
-+ add_hardwired_spec(). */
-+ if (0==VG_(strcmp)("strlen", fnpatt))
-+ spec->mandatory = NULL;
-+ else
-+ spec->mandatory = mandatory;
-+
- /* VARIABLE PARTS */
- spec->mark = False; /* not significant */
- spec->done = False; /* not significant */
---
-1.9.1
-
diff --git a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind_3.12.0.bb b/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind_3.12.0.bb
deleted file mode 100644
index 7a1c3c6..0000000
--- a/meta-rcar-gen3-adas/recipes-devtools/valgrind/valgrind_3.12.0.bb
+++ /dev/null
@@ -1,127 +0,0 @@
-SUMMARY = "Valgrind memory debugger and instrumentation framework"
-HOMEPAGE = "http://valgrind.org/"
-BUGTRACKER = "http://valgrind.org/support/bug_reports.html"
-LICENSE = "GPLv2 & GPLv2+ & BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
- file://include/pub_tool_basics.h;beginline=1;endline=29;md5=ebb8e640ef633f940c425686c873f9fa \
- file://include/valgrind.h;beginline=1;endline=56;md5=4b5e24908e53016ea561c45f4234a327 \
- file://COPYING.DOCS;md5=24ea4c7092233849b4394699333b5c56"
-
-X11DEPENDS = "virtual/libx11"
-DEPENDS = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'boost', '', d)} \
- "
-
-SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
- file://fixed-perl-path.patch \
- file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
- file://run-ptest \
- file://0002-remove-rpath.patch \
- file://0004-Fix-out-of-tree-builds.patch \
- file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \
- file://0001-Remove-tests-that-fail-to-build-on-some-PPC32-config.patch \
- file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \
- file://avoid-neon-for-targets-which-don-t-support-it.patch \
- file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \
-"
-SRC_URI_append_libc-musl = "\
- file://0001-fix-build-for-musl-targets.patch \
-"
-SRC_URI[md5sum] = "6eb03c0c10ea917013a7622e483d61bb"
-SRC_URI[sha256sum] = "67ca4395b2527247780f36148b084f5743a68ab0c850cb43e4a5b4b012cf76a1"
-
-COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux'
-
-# valgrind supports armv7 and above
-COMPATIBLE_HOST_armv4 = 'null'
-COMPATIBLE_HOST_armv5 = 'null'
-COMPATIBLE_HOST_armv6 = 'null'
-
-# X32 isn't supported by valgrind at this time
-COMPATIBLE_HOST_linux-gnux32 = 'null'
-
-# Disable for some MIPS variants
-COMPATIBLE_HOST_mipsarcho32 = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}"
-COMPATIBLE_HOST_mipsarchn32 = 'null'
-COMPATIBLE_HOST_mipsarchn64 = "${@bb.utils.contains("TARGET_FPU", "soft", "null", ".*-linux", d)}"
-COMPATIBLE_HOST_mipsarchr6 = 'null'
-
-inherit autotools ptest
-
-EXTRA_OECONF = "--enable-tls --without-mpicc"
-EXTRA_OECONF += "${@['--enable-only32bit','--enable-only64bit'][${SITEINFO_BITS} != '32']}"
-
-# valgrind checks host_cpu "armv7*)", so we need to over-ride the autotools.bbclass default --host option
-EXTRA_OECONF_append_arm = " --host=armv7${HOST_VENDOR}-${HOST_OS}"
-
-EXTRA_OEMAKE = "-w"
-
-# valgrind likes to control its own optimisation flags. It generally defaults
-# to -O2 but uses -O0 for some specific test apps etc. Passing our own flags
-# (via CFLAGS) means we interfere with that. Only pass DEBUG_FLAGS to it
-# which fixes build path issue in DWARF.
-SELECTED_OPTIMIZATION = "${DEBUG_FLAGS}"
-
-CFLAGS_append_libc-uclibc = " -D__UCLIBC__ "
-
-do_install_append () {
- install -m 644 ${B}/default.supp ${D}/${libdir}/valgrind/
-}
-
-RDEPENDS_${PN} += "perl"
-
-# valgrind needs debug information for ld.so at runtime in order to
-# redirect functions like strlen.
-RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
-
-RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob"
-RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
-
-# One of the tests contains a bogus interpreter path on purpose.
-# Skip file dependency check
-SKIP_FILEDEPS_${PN}-ptest = '1'
-
-do_compile_ptest() {
- oe_runmake check
-}
-
-do_install_ptest() {
- chmod +x ${B}/tests/vg_regtest
-
- # The test application binaries are not automatically installed.
- # Grab them from the build directory.
- #
- # The regression tests require scripts and data files that are not
- # copied to the build directory. They must be copied from the
- # source directory.
- saved_dir=$PWD
- for parent_dir in ${S} ${B} ; do
- cd $parent_dir
-
- # exclude shell or the package won't install
- rm -rf none/tests/shell* 2>/dev/null
-
- subdirs="tests cachegrind/tests callgrind/tests drd/tests helgrind/tests massif/tests memcheck/tests none/tests"
-
- # Get the vg test scripts, filters, and expected files
- for dir in $subdirs ; do
- find $dir | cpio -pvdu ${D}${PTEST_PATH}
- done
- cd $saved_dir
- done
-
- # clean out build artifacts before building the rpm
- find ${D}${PTEST_PATH} \
- \( -name "Makefile*" \
- -o -name "*.o" \
- -o -name "*.c" \
- -o -name "*.S" \
- -o -name "*.h" \) \
- -exec rm {} \;
-
- # needed by massif tests
- cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
-
- # handle multilib
- sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
-}
diff --git a/meta-rcar-gen3-adas/recipes-graphics/cairo/cairo_1.14.6.bbappend b/meta-rcar-gen3-adas/recipes-graphics/cairo/cairo_1.14.6.bbappend
deleted file mode 100644
index fa555a8..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/cairo/cairo_1.14.6.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-require include/gles-control.inc
-
-PACKAGECONFIG_pn-cairo_append = "${@' egl glesv2' if '${USE_GLES_WAYLAND}' == '1' else ''}"
-PACKAGECONFIG_pn-cairo_append += "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
diff --git a/meta-rcar-gen3-adas/recipes-graphics/libpng/libpng_%.bbappend b/meta-rcar-gen3-adas/recipes-graphics/libpng/libpng_%.bbappend
deleted file mode 100644
index 252fec3..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/libpng/libpng_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-# ...use neon acceleration
-EXTRA_OECONF_append_aarch64 = " --enable-arm-neon=on"
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv-samples_2.4.bb b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv-samples_2.4.bb
deleted file mode 100644
index 9d862fe..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv-samples_2.4.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
-SECTION = "libs"
-LICENSE = "BSD"
-
-DEPENDS = "opencv"
-
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
-"
-SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e"
-SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
- "
-PV = "2.4.3+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
- cd samples/c
- install -d ${D}/${bindir}
- install -d ${D}/${datadir}/opencv/samples
-
- cp * ${D}/${datadir}/opencv/samples || true
-
- for i in *.c; do
- echo "compiling $i"
- ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
- install -m 0755 `basename $i .c` ${D}/${bindir} || true
- rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
- done
- for i in *.cpp; do
- echo "compiling $i"
- ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
- install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
- rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
- done
-}
-
-FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*"
-FILES_${PN} += "${bindir} ${datadir}/opencv"
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
deleted file mode 100644
index 1077d05..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 049f931207631aa54af55a2917318d032b2ef3fa Mon Sep 17 00:00:00 2001
-From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
-Date: Thu, 31 Mar 2016 00:20:15 +0200
-Subject: [PATCH] 3rdparty/ippicv: Use pre-downloaded ipp
-
-Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
----
- 3rdparty/ippicv/downloader.cmake | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/3rdparty/ippicv/downloader.cmake b/3rdparty/ippicv/downloader.cmake
-index a6016dbe10bc..af4062c8e95e 100644
---- a/3rdparty/ippicv/downloader.cmake
-+++ b/3rdparty/ippicv/downloader.cmake
-@@ -31,8 +31,10 @@ function(_icv_downloader)
- return() # Not supported
- endif()
-
-+ if(NOT DEFINED OPENCV_ICV_PATH)
- set(OPENCV_ICV_UNPACK_PATH "${CMAKE_BINARY_DIR}/3rdparty/ippicv")
- set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}")
-+ endif()
-
- if(DEFINED OPENCV_ICV_PACKAGE_DOWNLOADED
- AND OPENCV_ICV_PACKAGE_DOWNLOADED STREQUAL OPENCV_ICV_PACKAGE_HASH
---
-2.8.0.rc3
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch
deleted file mode 100644
index 507d796..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/0001-Revert-cuda-fix-fp16-compilation.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 69f9707678190f6a0948a547dce948251f972676 Mon Sep 17 00:00:00 2001
-From: Randy MacLeod <Randy.MacLeod@windriver.com>
-Date: Wed, 26 Apr 2017 14:57:30 -0400
-Subject: [PATCH 1/2] Revert "cuda: fix fp16 compilation"
-
-This reverts commit 12e00827be40576b686ea4438a6e6ef85208743d.
----
- modules/core/include/opencv2/core/cvdef.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
-index 699b166..efc24ca 100644
---- a/modules/core/include/opencv2/core/cvdef.h
-+++ b/modules/core/include/opencv2/core/cvdef.h
-@@ -303,8 +303,7 @@ enum CpuFeatures {
- #define CV_2PI 6.283185307179586476925286766559
- #define CV_LOG2 0.69314718055994530941723212145818
-
--#if defined __ARM_FP16_FORMAT_IEEE \
-- && !defined __CUDACC__
-+#if defined (__ARM_FP16_FORMAT_IEEE)
- # define CV_FP16_TYPE 1
- #else
- # define CV_FP16_TYPE 0
---
-2.9.3
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/fixpkgconfig.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/fixpkgconfig.patch
deleted file mode 100644
index 3aeda7d..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/fixpkgconfig.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/cmake/OpenCVGenPkgconfig.cmake b/cmake/OpenCVGenPkgconfig.cmake
-index b8cb8777c06b..75281ee964fd 100644
---- a/cmake/OpenCVGenPkgconfig.cmake
-+++ b/cmake/OpenCVGenPkgconfig.cmake
-@@ -27,7 +27,7 @@ macro(fix_prefix lst isown)
- get_filename_component(libdir "${item}" PATH)
- get_filename_component(libname "${item}" NAME_WE)
- string(REGEX REPLACE "^lib(.*)" "\\1" libname "${libname}")
-- list(APPEND _lst "-L${libdir}" "-l${libname}")
-+ list(APPEND _lst "-l${libname}")
- else()
- list(APPEND _lst "-l${item}")
- endif()
-@@ -66,10 +66,14 @@ ocv_list_unique(_3rdparty)
-
- set(OPENCV_PC_LIBS
- "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
- "${_modules}"
- )
- if (BUILD_SHARED_LIBS)
-- set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
-+ set(OPENCV_PC_LIBS_PRIVATE
-+ "-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
-+ "${_extra}"
-+ )
- else()
- set(OPENCV_PC_LIBS_PRIVATE
- "-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/opencv-fix-pkgconfig-generation.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/opencv-fix-pkgconfig-generation.patch
deleted file mode 100644
index d352778..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/opencv-fix-pkgconfig-generation.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Fix pkg-config generation
-
-Replace absolute library path with library name spec and library search
-path option.
-
-The fix has been provided by Ray Rashif (code.opencv.org/issues/1925)
-
-Upstream-Status: Pending
-
-diff -Nbaur OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake
---- OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:14.243505926 +0000
-+++ OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:42.286649120 +0000
-@@ -10,7 +10,7 @@
- # -------------------------------------------------------------------------------------------
- set(prefix "${CMAKE_INSTALL_PREFIX}")
- set(exec_prefix "\${prefix}")
--set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
-+set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
- set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
- set(VERSION ${OPENCV_VERSION})
-
-@@ -36,10 +36,11 @@
- ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
-
- #build the list of components
--set(OpenCV_LIB_COMPONENTS_ "")
-+set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
- foreach(CVLib ${OpenCV_LIB_COMPONENTS})
- get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
- get_filename_component(libname "${libpath}" NAME)
-+ get_filename_component(lname "${libpath}" NAME_WE)
-
- if(INSTALL_TO_MANGLED_PATHS)
- set(libname "${libname}.${OPENCV_VERSION}")
-@@ -52,7 +53,8 @@
- set(installDir "${OPENCV_LIB_INSTALL_PATH}")
- endif()
-
-- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
-+ string(REPLACE "libopencv" "-lopencv" lname "${lname}")
-+ set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}")
- endforeach()
-
- # add extra dependencies required for OpenCV
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/uselocalxfeatures.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/uselocalxfeatures.patch
deleted file mode 100644
index a2db48d..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/uselocalxfeatures.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/modules/xfeatures2d/CMakeLists.txt b/modules/xfeatures2d/CMakeLists.txt
-index f295bddaed66..6086e75ec37b 100644
---- a/modules/xfeatures2d/CMakeLists.txt
-+++ b/modules/xfeatures2d/CMakeLists.txt
-@@ -1,5 +1,5 @@
- set(the_description "Contributed/Experimental Algorithms for Salient 2D Features Detection")
- ocv_define_module(xfeatures2d opencv_core opencv_imgproc opencv_features2d opencv_calib3d opencv_shape opencv_highgui opencv_videoio opencv_ml
- OPTIONAL opencv_cudaarithm WRAP python java)
--include(cmake/download_vgg.cmake)
--include(cmake/download_boostdesc.cmake)
-+#include(cmake/download_vgg.cmake)
-+#include(cmake/download_boostdesc.cmake)
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/useoeprotobuf.patch b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/useoeprotobuf.patch
deleted file mode 100644
index 3068bd4..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv/useoeprotobuf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-index eb2a729cc2eb..8717736484de 100644
---- a/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-+++ b/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
-@@ -24,7 +24,7 @@ if(NOT BUILD_PROTOBUF AND NOT (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF
- find_package(Protobuf QUIET)
- endif()
-
--if(PROTOBUF_FOUND)
-+if(PROTOBUF_FOUND OR (DEFINED PROTOBUF_INCLUDE_DIR AND DEFINED PROTOBUF_LIBRARIES))
- # nothing
- else()
- include(${CMAKE_CURRENT_LIST_DIR}/download_protobuf.cmake)
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_2.4.bb b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_2.4.bb
deleted file mode 100644
index f4239f7..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_2.4.bb
+++ /dev/null
@@ -1,96 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
-SECTION = "libs"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
-
-ARM_INSTRUCTION_SET = "arm"
-
-DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
-
-SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 "
-SRCREV = "707d10f11526afee1e1a35ec7fdaa8b05f7e1656"
-PV = "2.4.11+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# Do an out-of-tree build
-#OECMAKE_SOURCEPATH = "${S}"
-#OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
-
-EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
- -DBUILD_PYTHON_SUPPORT=ON \
- -DWITH_GSTREAMER=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DBUILD_EXAMPLES=ON \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64 -DPYTHON_PACKAGES_PATH:PATH=lib64/python2.7/site-packages", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32 -DPYTHON_PACKAGES_PATH:PATH=lib32/python2.7/site-packages", "", d)} \
-"
-
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer opengl neon ${@bb.utils.contains( 'DISTRO_FEATURES', 'qt5', 'qt5','', d)}"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,"
-PACKAGECONFIG[neon] = "-DENABLE_NEON=ON,-DENABLE_NEON=OFF,,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good,"
-PACKAGECONFIG[opengl] = "-DWITH_OPENGL=ON,-DWITH_OPENGL=OFF,,"
-PACKAGECONFIG[qt5] = "-DWITH_QT=ON,-DWITH_QT=OFF,qtbase,"
-
-inherit distutils-base pkgconfig cmake ${@bb.utils.contains( 'DISTRO_FEATURES', 'qt5', 'cmake_qt5','', d)}
-
-export BUILD_SYS
-export HOST_SYS
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/python"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${PN}-apps python-opencv"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- cv_libdir_dbg = d.expand('${libdir}/.debug')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN', 1)
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES', 1).split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-dbg += "${libdir}/.debug"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
-FILES_${PN}-doc = "${datadir}/OpenCV/doc"
-
-ALLOW_EMPTY_${PN} = "1"
-
-INSANE_SKIP_python-opencv = "True"
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-}
diff --git a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_3.2.bb b/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_3.2.bb
deleted file mode 100644
index a5ef014..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/opencv/opencv_3.2.bb
+++ /dev/null
@@ -1,176 +0,0 @@
-SUMMARY = "Opencv : The Open Computer Vision Library"
-HOMEPAGE = "http://opencv.org/"
-SECTION = "libs"
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2b2f8752cc5edf504d283107d033f544"
-
-ARM_INSTRUCTION_SET_armv4 = "arm"
-ARM_INSTRUCTION_SET_armv5 = "arm"
-
-DEPENDS = "libtool swig-native bzip2 zlib glib-2.0"
-
-#DEPENDS = "libwebp"
-
-SRCREV_opencv = "70bbf17b133496bd7d54d034b0f94bd869e0e810"
-SRCREV_contrib = "86342522b0eb2b16fa851c020cc4e0fef4e010b7"
-SRCREV_ipp = "81a676001ca8075ada498583e4166079e5744668"
-SRCREV_bootdesc = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"
-SRCREV_vgg = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"
-IPP_MD5 = "808b791a6eac9ed78d32a7666804320e"
-
-SRCREV_FORMAT = "opencv"
-SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
- git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
- git://github.com/opencv/opencv_3rdparty.git;branch=ippicv/master_20151201;destsuffix=ipp;name=ipp \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_boostdesc_20161012;destsuffix=bootdesc;name=bootdesc \
- git://github.com/opencv/opencv_3rdparty.git;branch=contrib_xfeatures2d_vgg_20160317;destsuffix=vgg;name=vgg \
- file://0001-3rdparty-ippicv-Use-pre-downloaded-ipp.patch \
- file://fixpkgconfig.patch \
- file://uselocalxfeatures.patch;patchdir=../contrib/ \
- file://useoeprotobuf.patch;patchdir=../contrib/ \
- file://0001-Revert-cuda-fix-fp16-compilation.patch \
-"
-# file://0002-Revert-check-FP16-build-condition-correctly.patch \
-#
-
-PV = "3.2+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_unpack_extra() {
- tar xzf ${WORKDIR}/ipp/ippicv/ippicv_linux_20151201.tgz -C ${WORKDIR}
- cp ${WORKDIR}/vgg/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
- cp ${WORKDIR}/bootdesc/*.i ${WORKDIR}/contrib/modules/xfeatures2d/src
-}
-addtask unpack_extra after do_unpack before do_patch
-
-EXTRA_OECMAKE = "-DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
- -DWITH_1394=OFF \
- -DCMAKE_SKIP_RPATH=ON \
- -DOPENCV_ICV_PACKAGE_DOWNLOADED=${IPP_MD5} \
- -DOPENCV_ICV_PATH=${WORKDIR}/ippicv_lnx \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.1", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1", "", d)} \
- ${@bb.utils.contains("TARGET_CC_ARCH", "-msse4.2", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1 -DENABLE_SSE41=1 -DENABLE_SSE42=1", "", d)} \
- ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
- ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
-"
-EXTRA_OECMAKE_append_x86 = " -DX86=ON"
-
-PACKAGECONFIG ??= "eigen jpeg png tiff v4l libv4l gstreamer samples tbb \
- ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)} \
- ${@bb.utils.contains("LICENSE_FLAGS_WHITELIST", "commercial", "libav", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "qt5", "qt5", "", d)}"
-
-PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
-PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
-PACKAGECONFIG[dnn] = "-DBUILD_opencv_dnn=ON -DUPDATE_PROTO_FILES=ON -DBUILD_PROTOBUF=OFF,-DBUILD_opencv_dnn=OFF,lapack protobuf protobuf-native,"
-PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen gflags glog,"
-PACKAGECONFIG[freetype] = "-DBUILD_opencv_freetype=ON,-DBUILD_opencv_freetype=OFF,freetype,"
-PACKAGECONFIG[gphoto2] = "-DWITH_GPHOTO2=ON,-DWITH_GPHOTO2=OFF,libgphoto2,"
-PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
-PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
-PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
-PACKAGECONFIG[java] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native fastjar-native openjdk-8-native,"
-PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
-PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
-PACKAGECONFIG[libv4l] = "-DWITH_LIBV4L=ON,-DWITH_LIBV4L=OFF,v4l-utils,"
-PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers virtual/opencl-icd,"
-PACKAGECONFIG[oracle-java] = "-DJAVA_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${ORACLE_JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${ORACLE_JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${ORACLE_JAVA_HOME}/lib/amd64/server/libjvm.so,,ant-native oracle-jse-jdk oracle-jse-jdk-native,"
-PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
-PACKAGECONFIG[python2] = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python-numpy,"
-PACKAGECONFIG[python3] = "-DPYTHON3_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include,,python3-numpy,"
-PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
-PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
-PACKAGECONFIG[text] = "-DBUILD_opencv_text=ON,-DBUILD_opencv_text=OFF,tesseract,"
-PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
-PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
-PACKAGECONFIG[qt5] = "-DWITH_QT=ON,-DWITH_QT=OFF,qtbase,"
-
-inherit pkgconfig cmake ${@bb.utils.contains( 'DISTRO_FEATURES', 'qt5', 'cmake_qt5','', d)}
-
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'distutils3-base', '', d)}
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'distutils-base', '', d)}
-
-export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
-export PYTHON="${STAGING_BINDIR_NATIVE}/${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3', 'python', d)}"
-export ORACLE_JAVA_HOME="${STAGING_DIR_NATIVE}/usr/bin/java"
-export JAVA_HOME="${STAGING_DIR_NATIVE}/usr/lib/jvm/openjdk-8-native"
-export ANT_DIR="${STAGING_DIR_NATIVE}/usr/share/ant/"
-
-TARGET_CC_ARCH += "-I${S}/include "
-
-PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'samples', '${PN}-samples', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'oracle-java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'java', '${PN}-java', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python2', 'python-${BPN}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'python3-${BPN}', '', d)} \
- ${PN}-apps"
-
-python populate_packages_prepend () {
- cv_libdir = d.expand('${libdir}')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
- do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
- do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
-
- pn = d.getVar('PN', 1)
- metapkg = pn + '-dev'
- d.setVar('ALLOW_EMPTY_' + metapkg, "1")
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- packages = d.getVar('PACKAGES', 1).split()
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
- metapkg = pn
- blacklist = [ metapkg ]
- metapkg_rdepends = [ ]
- for pkg in packages[1:]:
- if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') and not pkg.endswith('-locale') and not pkg.endswith('-staticdev'):
- metapkg_rdepends.append(pkg)
- d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends))
-
-}
-
-PACKAGES_DYNAMIC += "^libopencv-.*"
-
-FILES_${PN} = ""
-FILES_${PN}-dbg += "${datadir}/OpenCV/java/.debug/* ${datadir}/OpenCV/samples/bin/.debug/*"
-FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig ${datadir}/OpenCV/*.cmake"
-FILES_${PN}-staticdev += "${datadir}/OpenCV/3rdparty/lib/*.a"
-FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
-FILES_${PN}-java = "${datadir}/OpenCV/java"
-FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
-
-INSANE_SKIP_${PN}-java = "libdir"
-INSANE_SKIP_${PN}-dbg = "libdir"
-
-ALLOW_EMPTY_${PN} = "1"
-
-SUMMARY_python-opencv = "Python bindings to opencv"
-FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-opencv = "python-core python-numpy"
-
-SUMMARY_python3-opencv = "Python bindings to opencv"
-FILES_python3-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python3-opencv = "python3-core python3-numpy"
-
-do_install_append() {
- cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
- sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
-
- # Move Python files into correct library folder (for multilib build)
- if [ "$libdir" != "/usr/lib" -a -d ${D}/usr/lib ]; then
- mv ${D}/usr/lib/* ${D}/${libdir}/
- rm -rf ${D}/usr/lib
- fi
-
- if ${@bb.utils.contains("PACKAGECONFIG", "samples", "true", "false", d)}; then
- install -d ${D}${datadir}/OpenCV/samples/bin/
- cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/
- fi
-}
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0001-Allow-to-boot-without-input-device.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0001-Allow-to-boot-without-input-device.patch
deleted file mode 100644
index ff7dd0c..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0001-Allow-to-boot-without-input-device.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From d04c556bc8eac439cc87c7cdf9b4446d4a9cecaa Mon Sep 17 00:00:00 2001
-From: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
-Date: Fri, 17 Feb 2017 03:06:27 +0300
-Subject: [PATCH] Allow to boot without input device
-
----
- src/libinput-seat.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/libinput-seat.c b/src/libinput-seat.c
-index c9f9ed2..20fcaa6 100644
---- a/src/libinput-seat.c
-+++ b/src/libinput-seat.c
-@@ -258,7 +258,6 @@ udev_input_enable(struct udev_input *input)
- "\t- seats misconfigured "
- "(Weston backend option 'seat', "
- "udev device property ID_SEAT)\n");
-- return -1;
- }
-
- return 0;
---
-2.7.4
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0002-Share-toytoolkit-lib.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0002-Share-toytoolkit-lib.patch
deleted file mode 100644
index 58e5b2a..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0002-Share-toytoolkit-lib.patch
+++ /dev/null
@@ -1,1394 +0,0 @@
-From 32bb2f9f31945fda4d3a530c7e48632f3249d3a6 Mon Sep 17 00:00:00 2001
-From: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
-Date: Tue, 13 Jun 2017 23:51:22 +0300
-Subject: [PATCH 1/4] Share toytoolkit lib
-
----
- Makefile.am | 35 +++
- clients/toytoolkit.h | 650 +++++++++++++++++++++++++++++++++++++++++++++++++++
- clients/window.h | 621 ------------------------------------------------
- configure.ac | 2 +-
- 4 files changed, 686 insertions(+), 622 deletions(-)
- create mode 100644 clients/toytoolkit.h
-
-diff --git a/Makefile.am b/Makefile.am
-index 98cd683..530b868 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -6,6 +6,7 @@ libexec_PROGRAMS =
- moduledir = $(libdir)/weston
- module_LTLIBRARIES =
- noinst_LTLIBRARIES =
-+lib_LTLIBRARIES =
- BUILT_SOURCES =
-
- AM_DISTCHECK_CONFIGURE_FLAGS = --disable-setuid-install
-@@ -100,6 +101,7 @@ weston_SOURCES = \
- shared/matrix.h \
- shared/timespec-util.h \
- shared/zalloc.h \
-+ clients/toytoolkit.h \
- shared/platform.h \
- src/weston-egl-ext.h
-
-@@ -212,6 +214,7 @@ dist_wayland_session_DATA = src/weston.desktop
-
- westonincludedir = $(includedir)/weston
- westoninclude_HEADERS = \
-+ clients/toytoolkit.h \
- src/version.h \
- src/compositor.h \
- src/compositor-drm.h \
-@@ -603,6 +606,7 @@ noinst_LTLIBRARIES += libtoytoolkit.la
- libtoytoolkit_la_SOURCES = \
- clients/window.c \
- clients/window.h \
-+ clients/toytoolkit.h \
- shared/helpers.h
-
- nodist_libtoytoolkit_la_SOURCES = \
-@@ -624,6 +628,37 @@ libtoytoolkit_la_LIBADD = \
- libshared-cairo.la $(CLOCK_GETTIME_LIBS) -lm
- libtoytoolkit_la_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(CAIRO_EGL_CFLAGS)
-
-+lib_LTLIBRARIES += libweston-toytoolkit.la
-+
-+libweston_toytoolkit_la_SOURCES = \
-+ clients/window.c \
-+ clients/window.h \
-+ clients/toytoolkit.h \
-+ protocol/text-cursor-position-protocol.c \
-+ protocol/text-cursor-position-client-protocol.h \
-+ protocol/scaler-protocol.c \
-+ protocol/scaler-client-protocol.h \
-+ protocol/xdg-shell-unstable-v5-protocol.c \
-+ protocol/xdg-shell-unstable-v5-client-protocol.h \
-+ \
-+ \
-+ protocol/ivi-application-protocol.c \
-+ protocol/ivi-application-client-protocol.h
-+
-+BUILT_SOURCES += $(libweston_toytoolkit_la_SOURCES)
-+
-+libweston_toytoolkit_la_CFLAGS = \
-+ $(AM_CFLAGS) $(CLIENT_CFLAGS) $(CAIRO_EGL_CFLAGS) \
-+ $(GCC_CFLAGS) -pthread -fvisibility=default
-+libweston_toytoolkit_la_LIBADD = \
-+ $(CLIENT_LIBS) \
-+ $(CAIRO_EGL_LIBS) \
-+ libshared-cairo.la -lrt -lm
-+libweston_toytoolkit_la_LDFLAGS = -version-info 1:0:1
-+
-+
-+
-+
- weston_flower_SOURCES = clients/flower.c
- weston_flower_LDADD = libtoytoolkit.la
- weston_flower_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
-diff --git a/clients/toytoolkit.h b/clients/toytoolkit.h
-new file mode 100644
-index 0000000..f75b671
---- /dev/null
-+++ b/clients/toytoolkit.h
-@@ -0,0 +1,650 @@
-+/*
-+ * Copyright © 2008 Kristian Høgsberg
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ */
-+
-+#ifndef _TOYTOOLKIT_H_
-+#define _TOYTOOLKIT_H_
-+
-+#include <xkbcommon/xkbcommon.h>
-+#include <wayland-client.h>
-+#include <cairo.h>
-+
-+
-+struct window;
-+struct widget;
-+struct display;
-+struct input;
-+struct output;
-+
-+struct task {
-+ void (*run)(struct task *task, uint32_t events);
-+ struct wl_list link;
-+};
-+
-+struct rectangle {
-+ int32_t x;
-+ int32_t y;
-+ int32_t width;
-+ int32_t height;
-+};
-+
-+struct display *
-+display_create(int *argc, char *argv[]);
-+
-+void
-+display_destroy(struct display *display);
-+
-+void
-+display_set_user_data(struct display *display, void *data);
-+
-+void *
-+display_get_user_data(struct display *display);
-+
-+struct wl_display *
-+display_get_display(struct display *display);
-+
-+int
-+display_has_subcompositor(struct display *display);
-+
-+cairo_device_t *
-+display_get_cairo_device(struct display *display);
-+
-+struct wl_compositor *
-+display_get_compositor(struct display *display);
-+
-+struct output *
-+display_get_output(struct display *display);
-+
-+uint32_t
-+display_get_serial(struct display *display);
-+
-+typedef void (*display_global_handler_t)(struct display *display,
-+ uint32_t name,
-+ const char *interface,
-+ uint32_t version, void *data);
-+
-+void
-+display_set_global_handler(struct display *display,
-+ display_global_handler_t handler);
-+void
-+display_set_global_handler_remove(struct display *display,
-+ display_global_handler_t remove_handler);
-+void *
-+display_bind(struct display *display, uint32_t name,
-+ const struct wl_interface *interface, uint32_t version);
-+
-+typedef void (*display_output_handler_t)(struct output *output, void *data);
-+
-+/*
-+ * The output configure handler is called, when a new output is connected
-+ * and we know its current mode, or when the current mode changes.
-+ * Test and set the output user data in your handler to know, if the
-+ * output is new. Note: 'data' in the configure handler is the display
-+ * user data.
-+ */
-+void
-+display_set_output_configure_handler(struct display *display,
-+ display_output_handler_t handler);
-+
-+struct wl_data_source *
-+display_create_data_source(struct display *display);
-+
-+#ifdef EGL_NO_DISPLAY
-+EGLDisplay
-+display_get_egl_display(struct display *d);
-+
-+EGLConfig
-+display_get_argb_egl_config(struct display *d);
-+
-+int
-+display_acquire_window_surface(struct display *display,
-+ struct window *window,
-+ EGLContext ctx);
-+void
-+display_release_window_surface(struct display *display,
-+ struct window *window);
-+#endif
-+
-+#define SURFACE_OPAQUE 0x01
-+#define SURFACE_SHM 0x02
-+
-+#define SURFACE_HINT_RESIZE 0x10
-+
-+#define SURFACE_HINT_RGB565 0x100
-+
-+cairo_surface_t *
-+display_create_surface(struct display *display,
-+ struct wl_surface *surface,
-+ struct rectangle *rectangle,
-+ uint32_t flags);
-+
-+struct wl_buffer *
-+display_get_buffer_for_surface(struct display *display,
-+ cairo_surface_t *surface);
-+
-+struct wl_cursor_image *
-+display_get_pointer_image(struct display *display, int pointer);
-+
-+void
-+display_defer(struct display *display, struct task *task);
-+
-+void
-+display_watch_fd(struct display *display,
-+ int fd, uint32_t events, struct task *task);
-+
-+void
-+display_unwatch_fd(struct display *display, int fd);
-+
-+void
-+display_run(struct display *d);
-+
-+void
-+display_exit(struct display *d);
-+
-+int
-+display_get_data_device_manager_version(struct display *d);
-+
-+enum cursor_type {
-+ CURSOR_BOTTOM_LEFT,
-+ CURSOR_BOTTOM_RIGHT,
-+ CURSOR_BOTTOM,
-+ CURSOR_DRAGGING,
-+ CURSOR_LEFT_PTR,
-+ CURSOR_LEFT,
-+ CURSOR_RIGHT,
-+ CURSOR_TOP_LEFT,
-+ CURSOR_TOP_RIGHT,
-+ CURSOR_TOP,
-+ CURSOR_IBEAM,
-+ CURSOR_HAND1,
-+ CURSOR_WATCH,
-+ CURSOR_DND_MOVE,
-+ CURSOR_DND_COPY,
-+ CURSOR_DND_FORBIDDEN,
-+
-+ CURSOR_BLANK
-+};
-+
-+typedef void (*window_key_handler_t)(struct window *window, struct input *input,
-+ uint32_t time, uint32_t key, uint32_t unicode,
-+ enum wl_keyboard_key_state state, void *data);
-+
-+typedef void (*window_keyboard_focus_handler_t)(struct window *window,
-+ struct input *device, void *data);
-+
-+typedef void (*window_data_handler_t)(struct window *window,
-+ struct input *input,
-+ float x, float y,
-+ const char **types,
-+ void *data);
-+
-+typedef void (*window_drop_handler_t)(struct window *window,
-+ struct input *input,
-+ int32_t x, int32_t y, void *data);
-+
-+typedef void (*window_close_handler_t)(void *data);
-+typedef void (*window_fullscreen_handler_t)(struct window *window, void *data);
-+
-+typedef void (*window_output_handler_t)(struct window *window, struct output *output,
-+ int enter, void *data);
-+typedef void (*window_state_changed_handler_t)(struct window *window,
-+ void *data);
-+
-+typedef void (*widget_resize_handler_t)(struct widget *widget,
-+ int32_t width, int32_t height,
-+ void *data);
-+typedef void (*widget_redraw_handler_t)(struct widget *widget, void *data);
-+
-+typedef int (*widget_enter_handler_t)(struct widget *widget,
-+ struct input *input,
-+ float x, float y, void *data);
-+typedef void (*widget_leave_handler_t)(struct widget *widget,
-+ struct input *input, void *data);
-+typedef int (*widget_motion_handler_t)(struct widget *widget,
-+ struct input *input, uint32_t time,
-+ float x, float y, void *data);
-+typedef void (*widget_button_handler_t)(struct widget *widget,
-+ struct input *input, uint32_t time,
-+ uint32_t button,
-+ enum wl_pointer_button_state state,
-+ void *data);
-+typedef void (*widget_touch_down_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t serial,
-+ uint32_t time,
-+ int32_t id,
-+ float x,
-+ float y,
-+ void *data);
-+typedef void (*widget_touch_up_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t serial,
-+ uint32_t time,
-+ int32_t id,
-+ void *data);
-+typedef void (*widget_touch_motion_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t time,
-+ int32_t id,
-+ float x,
-+ float y,
-+ void *data);
-+typedef void (*widget_touch_frame_handler_t)(struct widget *widget,
-+ struct input *input, void *data);
-+typedef void (*widget_touch_cancel_handler_t)(struct widget *widget,
-+ struct input *input, void *data);
-+typedef void (*widget_axis_handler_t)(struct widget *widget,
-+ struct input *input, uint32_t time,
-+ uint32_t axis,
-+ wl_fixed_t value,
-+ void *data);
-+
-+typedef void (*widget_pointer_frame_handler_t)(struct widget *widget,
-+ struct input *input,
-+ void *data);
-+
-+typedef void (*widget_axis_source_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t source,
-+ void *data);
-+
-+typedef void (*widget_axis_stop_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t time,
-+ uint32_t axis,
-+ void *data);
-+
-+typedef void (*widget_axis_discrete_handler_t)(struct widget *widget,
-+ struct input *input,
-+ uint32_t axis,
-+ int32_t discrete,
-+ void *data);
-+
-+struct window *
-+window_create(struct display *display);
-+struct window *
-+window_create_custom(struct display *display);
-+
-+void
-+window_set_parent(struct window *window, struct window *parent_window);
-+struct window *
-+window_get_parent(struct window *window);
-+
-+int
-+window_has_focus(struct window *window);
-+
-+typedef void (*menu_func_t)(void *data, struct input *input, int index);
-+
-+struct window *
-+window_create_menu(struct display *display,
-+ struct input *input, uint32_t time,
-+ menu_func_t func, const char **entries, int count,
-+ void *user_data);
-+void
-+window_show_menu(struct display *display,
-+ struct input *input, uint32_t time, struct window *parent,
-+ int32_t x, int32_t y,
-+ menu_func_t func, const char **entries, int count);
-+
-+void
-+window_show_frame_menu(struct window *window,
-+ struct input *input, uint32_t time);
-+
-+int
-+window_get_buffer_transform(struct window *window);
-+
-+void
-+window_set_buffer_transform(struct window *window,
-+ enum wl_output_transform transform);
-+
-+uint32_t
-+window_get_buffer_scale(struct window *window);
-+
-+void
-+window_set_buffer_scale(struct window *window,
-+ int32_t scale);
-+
-+uint32_t
-+window_get_output_scale(struct window *window);
-+
-+void
-+window_destroy(struct window *window);
-+
-+struct widget *
-+window_add_widget(struct window *window, void *data);
-+
-+enum subsurface_mode {
-+ SUBSURFACE_SYNCHRONIZED,
-+ SUBSURFACE_DESYNCHRONIZED
-+};
-+
-+struct widget *
-+window_add_subsurface(struct window *window, void *data,
-+ enum subsurface_mode default_mode);
-+
-+typedef void (*data_func_t)(void *data, size_t len,
-+ int32_t x, int32_t y, void *user_data);
-+
-+struct display *
-+window_get_display(struct window *window);
-+void
-+window_move(struct window *window, struct input *input, uint32_t time);
-+void
-+window_get_allocation(struct window *window, struct rectangle *allocation);
-+void
-+window_schedule_redraw(struct window *window);
-+void
-+window_schedule_resize(struct window *window, int width, int height);
-+
-+cairo_surface_t *
-+window_get_surface(struct window *window);
-+
-+struct wl_surface *
-+window_get_wl_surface(struct window *window);
-+
-+struct wl_subsurface *
-+widget_get_wl_subsurface(struct widget *widget);
-+
-+enum window_buffer_type {
-+ WINDOW_BUFFER_TYPE_EGL_WINDOW,
-+ WINDOW_BUFFER_TYPE_SHM,
-+};
-+
-+void
-+display_surface_damage(struct display *display, cairo_surface_t *cairo_surface,
-+ int32_t x, int32_t y, int32_t width, int32_t height);
-+
-+void
-+window_set_buffer_type(struct window *window, enum window_buffer_type type);
-+
-+enum window_buffer_type
-+window_get_buffer_type(struct window *window);
-+
-+int
-+window_is_fullscreen(struct window *window);
-+
-+void
-+window_set_fullscreen(struct window *window, int fullscreen);
-+
-+int
-+window_is_maximized(struct window *window);
-+
-+void
-+window_set_maximized(struct window *window, int maximized);
-+
-+int
-+window_is_resizing(struct window *window);
-+
-+void
-+window_set_minimized(struct window *window);
-+
-+void
-+window_set_user_data(struct window *window, void *data);
-+
-+void *
-+window_get_user_data(struct window *window);
-+
-+void
-+window_set_key_handler(struct window *window,
-+ window_key_handler_t handler);
-+
-+void
-+window_set_keyboard_focus_handler(struct window *window,
-+ window_keyboard_focus_handler_t handler);
-+
-+void
-+window_set_data_handler(struct window *window,
-+ window_data_handler_t handler);
-+
-+void
-+window_set_drop_handler(struct window *window,
-+ window_drop_handler_t handler);
-+
-+void
-+window_set_close_handler(struct window *window,
-+ window_close_handler_t handler);
-+void
-+window_set_fullscreen_handler(struct window *window,
-+ window_fullscreen_handler_t handler);
-+void
-+window_set_output_handler(struct window *window,
-+ window_output_handler_t handler);
-+void
-+window_set_state_changed_handler(struct window *window,
-+ window_state_changed_handler_t handler);
-+
-+void
-+window_set_title(struct window *window, const char *title);
-+
-+const char *
-+window_get_title(struct window *window);
-+
-+void
-+window_set_text_cursor_position(struct window *window, int32_t x, int32_t y);
-+
-+enum preferred_format {
-+ WINDOW_PREFERRED_FORMAT_NONE,
-+ WINDOW_PREFERRED_FORMAT_RGB565
-+};
-+
-+void
-+window_set_preferred_format(struct window *window,
-+ enum preferred_format format);
-+
-+int
-+widget_set_tooltip(struct widget *parent, char *entry, float x, float y);
-+
-+void
-+widget_destroy_tooltip(struct widget *parent);
-+
-+struct widget *
-+widget_add_widget(struct widget *parent, void *data);
-+
-+void
-+widget_destroy(struct widget *widget);
-+void
-+widget_set_default_cursor(struct widget *widget, int cursor);
-+void
-+widget_get_allocation(struct widget *widget, struct rectangle *allocation);
-+
-+void
-+widget_set_allocation(struct widget *widget,
-+ int32_t x, int32_t y, int32_t width, int32_t height);
-+void
-+widget_set_size(struct widget *widget, int32_t width, int32_t height);
-+void
-+widget_set_transparent(struct widget *widget, int transparent);
-+void
-+widget_schedule_resize(struct widget *widget, int32_t width, int32_t height);
-+
-+void *
-+widget_get_user_data(struct widget *widget);
-+
-+cairo_t *
-+widget_cairo_create(struct widget *widget);
-+
-+struct wl_surface *
-+widget_get_wl_surface(struct widget *widget);
-+
-+uint32_t
-+widget_get_last_time(struct widget *widget);
-+
-+void
-+widget_input_region_add(struct widget *widget, const struct rectangle *rect);
-+
-+void
-+widget_set_redraw_handler(struct widget *widget,
-+ widget_redraw_handler_t handler);
-+void
-+widget_set_resize_handler(struct widget *widget,
-+ widget_resize_handler_t handler);
-+void
-+widget_set_enter_handler(struct widget *widget,
-+ widget_enter_handler_t handler);
-+void
-+widget_set_leave_handler(struct widget *widget,
-+ widget_leave_handler_t handler);
-+void
-+widget_set_motion_handler(struct widget *widget,
-+ widget_motion_handler_t handler);
-+void
-+widget_set_button_handler(struct widget *widget,
-+ widget_button_handler_t handler);
-+void
-+widget_set_touch_down_handler(struct widget *widget,
-+ widget_touch_down_handler_t handler);
-+void
-+widget_set_touch_up_handler(struct widget *widget,
-+ widget_touch_up_handler_t handler);
-+void
-+widget_set_touch_motion_handler(struct widget *widget,
-+ widget_touch_motion_handler_t handler);
-+void
-+widget_set_touch_frame_handler(struct widget *widget,
-+ widget_touch_frame_handler_t handler);
-+void
-+widget_set_touch_cancel_handler(struct widget *widget,
-+ widget_touch_cancel_handler_t handler);
-+void
-+widget_set_axis_handler(struct widget *widget,
-+ widget_axis_handler_t handler);
-+void
-+widget_set_pointer_frame_handler(struct widget *widget,
-+ widget_pointer_frame_handler_t handler);
-+void
-+widget_set_axis_handlers(struct widget *widget,
-+ widget_axis_handler_t axis_handler,
-+ widget_axis_source_handler_t axis_source_handler,
-+ widget_axis_stop_handler_t axis_stop_handler,
-+ widget_axis_discrete_handler_t axis_discrete_handler);
-+
-+void
-+widget_schedule_redraw(struct widget *widget);
-+void
-+widget_set_use_cairo(struct widget *widget, int use_cairo);
-+
-+struct widget *
-+window_frame_create(struct window *window, void *data);
-+
-+void
-+window_frame_set_child_size(struct widget *widget, int child_width,
-+ int child_height);
-+
-+void
-+input_set_pointer_image(struct input *input, int pointer);
-+
-+void
-+input_get_position(struct input *input, int32_t *x, int32_t *y);
-+
-+int
-+input_get_touch(struct input *input, int32_t id, float *x, float *y);
-+
-+#define MOD_SHIFT_MASK 0x01
-+#define MOD_ALT_MASK 0x02
-+#define MOD_CONTROL_MASK 0x04
-+
-+uint32_t
-+input_get_modifiers(struct input *input);
-+
-+void
-+touch_grab(struct input *input, int32_t touch_id);
-+
-+void
-+touch_ungrab(struct input *input);
-+
-+void
-+input_grab(struct input *input, struct widget *widget, uint32_t button);
-+
-+void
-+input_ungrab(struct input *input);
-+
-+struct widget *
-+input_get_focus_widget(struct input *input);
-+
-+struct display *
-+input_get_display(struct input *input);
-+
-+struct wl_seat *
-+input_get_seat(struct input *input);
-+
-+struct wl_data_device *
-+input_get_data_device(struct input *input);
-+
-+void
-+input_set_selection(struct input *input,
-+ struct wl_data_source *source, uint32_t time);
-+
-+void
-+input_accept(struct input *input, const char *type);
-+
-+
-+void
-+input_receive_drag_data(struct input *input, const char *mime_type,
-+ data_func_t func, void *user_data);
-+int
-+input_receive_drag_data_to_fd(struct input *input,
-+ const char *mime_type, int fd);
-+
-+int
-+input_receive_selection_data(struct input *input, const char *mime_type,
-+ data_func_t func, void *data);
-+int
-+input_receive_selection_data_to_fd(struct input *input,
-+ const char *mime_type, int fd);
-+
-+void
-+output_set_user_data(struct output *output, void *data);
-+
-+void *
-+output_get_user_data(struct output *output);
-+
-+void
-+output_set_destroy_handler(struct output *output,
-+ display_output_handler_t handler);
-+
-+void
-+output_get_allocation(struct output *output, struct rectangle *allocation);
-+
-+struct wl_output *
-+output_get_wl_output(struct output *output);
-+
-+enum wl_output_transform
-+output_get_transform(struct output *output);
-+
-+uint32_t
-+output_get_scale(struct output *output);
-+
-+const char *
-+output_get_make(struct output *output);
-+
-+const char *
-+output_get_model(struct output *output);
-+
-+void
-+keysym_modifiers_add(struct wl_array *modifiers_map,
-+ const char *name);
-+
-+xkb_mod_mask_t
-+keysym_modifiers_get_mask(struct wl_array *modifiers_map,
-+ const char *name);
-+
-+#endif
-diff --git a/clients/window.h b/clients/window.h
-index 8c8568f..3a16017 100644
---- a/clients/window.h
-+++ b/clients/window.h
-@@ -26,629 +26,9 @@
-
- #include "config.h"
-
--#include <xkbcommon/xkbcommon.h>
--#include <wayland-client.h>
--#include <cairo.h>
-+#include "toytoolkit.h"
- #include "shared/config-parser.h"
- #include "shared/zalloc.h"
- #include "shared/platform.h"
-
--struct window;
--struct widget;
--struct display;
--struct input;
--struct output;
--
--struct task {
-- void (*run)(struct task *task, uint32_t events);
-- struct wl_list link;
--};
--
--struct rectangle {
-- int32_t x;
-- int32_t y;
-- int32_t width;
-- int32_t height;
--};
--
--struct display *
--display_create(int *argc, char *argv[]);
--
--void
--display_destroy(struct display *display);
--
--void
--display_set_user_data(struct display *display, void *data);
--
--void *
--display_get_user_data(struct display *display);
--
--struct wl_display *
--display_get_display(struct display *display);
--
--int
--display_has_subcompositor(struct display *display);
--
--cairo_device_t *
--display_get_cairo_device(struct display *display);
--
--struct wl_compositor *
--display_get_compositor(struct display *display);
--
--struct output *
--display_get_output(struct display *display);
--
--uint32_t
--display_get_serial(struct display *display);
--
--typedef void (*display_global_handler_t)(struct display *display,
-- uint32_t name,
-- const char *interface,
-- uint32_t version, void *data);
--
--void
--display_set_global_handler(struct display *display,
-- display_global_handler_t handler);
--void
--display_set_global_handler_remove(struct display *display,
-- display_global_handler_t remove_handler);
--void *
--display_bind(struct display *display, uint32_t name,
-- const struct wl_interface *interface, uint32_t version);
--
--typedef void (*display_output_handler_t)(struct output *output, void *data);
--
--/*
-- * The output configure handler is called, when a new output is connected
-- * and we know its current mode, or when the current mode changes.
-- * Test and set the output user data in your handler to know, if the
-- * output is new. Note: 'data' in the configure handler is the display
-- * user data.
-- */
--void
--display_set_output_configure_handler(struct display *display,
-- display_output_handler_t handler);
--
--struct wl_data_source *
--display_create_data_source(struct display *display);
--
--#ifdef EGL_NO_DISPLAY
--EGLDisplay
--display_get_egl_display(struct display *d);
--
--EGLConfig
--display_get_argb_egl_config(struct display *d);
--
--int
--display_acquire_window_surface(struct display *display,
-- struct window *window,
-- EGLContext ctx);
--void
--display_release_window_surface(struct display *display,
-- struct window *window);
--#endif
--
--#define SURFACE_OPAQUE 0x01
--#define SURFACE_SHM 0x02
--
--#define SURFACE_HINT_RESIZE 0x10
--
--#define SURFACE_HINT_RGB565 0x100
--
--cairo_surface_t *
--display_create_surface(struct display *display,
-- struct wl_surface *surface,
-- struct rectangle *rectangle,
-- uint32_t flags);
--
--struct wl_buffer *
--display_get_buffer_for_surface(struct display *display,
-- cairo_surface_t *surface);
--
--struct wl_cursor_image *
--display_get_pointer_image(struct display *display, int pointer);
--
--void
--display_defer(struct display *display, struct task *task);
--
--void
--display_watch_fd(struct display *display,
-- int fd, uint32_t events, struct task *task);
--
--void
--display_unwatch_fd(struct display *display, int fd);
--
--void
--display_run(struct display *d);
--
--void
--display_exit(struct display *d);
--
--int
--display_get_data_device_manager_version(struct display *d);
--
--enum cursor_type {
-- CURSOR_BOTTOM_LEFT,
-- CURSOR_BOTTOM_RIGHT,
-- CURSOR_BOTTOM,
-- CURSOR_DRAGGING,
-- CURSOR_LEFT_PTR,
-- CURSOR_LEFT,
-- CURSOR_RIGHT,
-- CURSOR_TOP_LEFT,
-- CURSOR_TOP_RIGHT,
-- CURSOR_TOP,
-- CURSOR_IBEAM,
-- CURSOR_HAND1,
-- CURSOR_WATCH,
-- CURSOR_DND_MOVE,
-- CURSOR_DND_COPY,
-- CURSOR_DND_FORBIDDEN,
--
-- CURSOR_BLANK
--};
--
--typedef void (*window_key_handler_t)(struct window *window, struct input *input,
-- uint32_t time, uint32_t key, uint32_t unicode,
-- enum wl_keyboard_key_state state, void *data);
--
--typedef void (*window_keyboard_focus_handler_t)(struct window *window,
-- struct input *device, void *data);
--
--typedef void (*window_data_handler_t)(struct window *window,
-- struct input *input,
-- float x, float y,
-- const char **types,
-- void *data);
--
--typedef void (*window_drop_handler_t)(struct window *window,
-- struct input *input,
-- int32_t x, int32_t y, void *data);
--
--typedef void (*window_close_handler_t)(void *data);
--typedef void (*window_fullscreen_handler_t)(struct window *window, void *data);
--
--typedef void (*window_output_handler_t)(struct window *window, struct output *output,
-- int enter, void *data);
--typedef void (*window_state_changed_handler_t)(struct window *window,
-- void *data);
--
--typedef void (*widget_resize_handler_t)(struct widget *widget,
-- int32_t width, int32_t height,
-- void *data);
--typedef void (*widget_redraw_handler_t)(struct widget *widget, void *data);
--
--typedef int (*widget_enter_handler_t)(struct widget *widget,
-- struct input *input,
-- float x, float y, void *data);
--typedef void (*widget_leave_handler_t)(struct widget *widget,
-- struct input *input, void *data);
--typedef int (*widget_motion_handler_t)(struct widget *widget,
-- struct input *input, uint32_t time,
-- float x, float y, void *data);
--typedef void (*widget_button_handler_t)(struct widget *widget,
-- struct input *input, uint32_t time,
-- uint32_t button,
-- enum wl_pointer_button_state state,
-- void *data);
--typedef void (*widget_touch_down_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t serial,
-- uint32_t time,
-- int32_t id,
-- float x,
-- float y,
-- void *data);
--typedef void (*widget_touch_up_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t serial,
-- uint32_t time,
-- int32_t id,
-- void *data);
--typedef void (*widget_touch_motion_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t time,
-- int32_t id,
-- float x,
-- float y,
-- void *data);
--typedef void (*widget_touch_frame_handler_t)(struct widget *widget,
-- struct input *input, void *data);
--typedef void (*widget_touch_cancel_handler_t)(struct widget *widget,
-- struct input *input, void *data);
--typedef void (*widget_axis_handler_t)(struct widget *widget,
-- struct input *input, uint32_t time,
-- uint32_t axis,
-- wl_fixed_t value,
-- void *data);
--
--typedef void (*widget_pointer_frame_handler_t)(struct widget *widget,
-- struct input *input,
-- void *data);
--
--typedef void (*widget_axis_source_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t source,
-- void *data);
--
--typedef void (*widget_axis_stop_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t time,
-- uint32_t axis,
-- void *data);
--
--typedef void (*widget_axis_discrete_handler_t)(struct widget *widget,
-- struct input *input,
-- uint32_t axis,
-- int32_t discrete,
-- void *data);
--
--struct window *
--window_create(struct display *display);
--struct window *
--window_create_custom(struct display *display);
--
--void
--window_set_parent(struct window *window, struct window *parent_window);
--struct window *
--window_get_parent(struct window *window);
--
--int
--window_has_focus(struct window *window);
--
--typedef void (*menu_func_t)(void *data, struct input *input, int index);
--
--struct window *
--window_create_menu(struct display *display,
-- struct input *input, uint32_t time,
-- menu_func_t func, const char **entries, int count,
-- void *user_data);
--void
--window_show_menu(struct display *display,
-- struct input *input, uint32_t time, struct window *parent,
-- int32_t x, int32_t y,
-- menu_func_t func, const char **entries, int count);
--
--void
--window_show_frame_menu(struct window *window,
-- struct input *input, uint32_t time);
--
--int
--window_get_buffer_transform(struct window *window);
--
--void
--window_set_buffer_transform(struct window *window,
-- enum wl_output_transform transform);
--
--uint32_t
--window_get_buffer_scale(struct window *window);
--
--void
--window_set_buffer_scale(struct window *window,
-- int32_t scale);
--
--uint32_t
--window_get_output_scale(struct window *window);
--
--void
--window_destroy(struct window *window);
--
--struct widget *
--window_add_widget(struct window *window, void *data);
--
--enum subsurface_mode {
-- SUBSURFACE_SYNCHRONIZED,
-- SUBSURFACE_DESYNCHRONIZED
--};
--
--struct widget *
--window_add_subsurface(struct window *window, void *data,
-- enum subsurface_mode default_mode);
--
--typedef void (*data_func_t)(void *data, size_t len,
-- int32_t x, int32_t y, void *user_data);
--
--struct display *
--window_get_display(struct window *window);
--void
--window_move(struct window *window, struct input *input, uint32_t time);
--void
--window_get_allocation(struct window *window, struct rectangle *allocation);
--void
--window_schedule_redraw(struct window *window);
--void
--window_schedule_resize(struct window *window, int width, int height);
--
--cairo_surface_t *
--window_get_surface(struct window *window);
--
--struct wl_surface *
--window_get_wl_surface(struct window *window);
--
--struct wl_subsurface *
--widget_get_wl_subsurface(struct widget *widget);
--
--enum window_buffer_type {
-- WINDOW_BUFFER_TYPE_EGL_WINDOW,
-- WINDOW_BUFFER_TYPE_SHM,
--};
--
--void
--display_surface_damage(struct display *display, cairo_surface_t *cairo_surface,
-- int32_t x, int32_t y, int32_t width, int32_t height);
--
--void
--window_set_buffer_type(struct window *window, enum window_buffer_type type);
--
--enum window_buffer_type
--window_get_buffer_type(struct window *window);
--
--int
--window_is_fullscreen(struct window *window);
--
--void
--window_set_fullscreen(struct window *window, int fullscreen);
--
--int
--window_is_maximized(struct window *window);
--
--void
--window_set_maximized(struct window *window, int maximized);
--
--int
--window_is_resizing(struct window *window);
--
--void
--window_set_minimized(struct window *window);
--
--void
--window_set_user_data(struct window *window, void *data);
--
--void *
--window_get_user_data(struct window *window);
--
--void
--window_set_key_handler(struct window *window,
-- window_key_handler_t handler);
--
--void
--window_set_keyboard_focus_handler(struct window *window,
-- window_keyboard_focus_handler_t handler);
--
--void
--window_set_data_handler(struct window *window,
-- window_data_handler_t handler);
--
--void
--window_set_drop_handler(struct window *window,
-- window_drop_handler_t handler);
--
--void
--window_set_close_handler(struct window *window,
-- window_close_handler_t handler);
--void
--window_set_fullscreen_handler(struct window *window,
-- window_fullscreen_handler_t handler);
--void
--window_set_output_handler(struct window *window,
-- window_output_handler_t handler);
--void
--window_set_state_changed_handler(struct window *window,
-- window_state_changed_handler_t handler);
--
--void
--window_set_title(struct window *window, const char *title);
--
--const char *
--window_get_title(struct window *window);
--
--void
--window_set_text_cursor_position(struct window *window, int32_t x, int32_t y);
--
--enum preferred_format {
-- WINDOW_PREFERRED_FORMAT_NONE,
-- WINDOW_PREFERRED_FORMAT_RGB565
--};
--
--void
--window_set_preferred_format(struct window *window,
-- enum preferred_format format);
--
--int
--widget_set_tooltip(struct widget *parent, char *entry, float x, float y);
--
--void
--widget_destroy_tooltip(struct widget *parent);
--
--struct widget *
--widget_add_widget(struct widget *parent, void *data);
--
--void
--widget_destroy(struct widget *widget);
--void
--widget_set_default_cursor(struct widget *widget, int cursor);
--void
--widget_get_allocation(struct widget *widget, struct rectangle *allocation);
--
--void
--widget_set_allocation(struct widget *widget,
-- int32_t x, int32_t y, int32_t width, int32_t height);
--void
--widget_set_size(struct widget *widget, int32_t width, int32_t height);
--void
--widget_set_transparent(struct widget *widget, int transparent);
--void
--widget_schedule_resize(struct widget *widget, int32_t width, int32_t height);
--
--void *
--widget_get_user_data(struct widget *widget);
--
--cairo_t *
--widget_cairo_create(struct widget *widget);
--
--struct wl_surface *
--widget_get_wl_surface(struct widget *widget);
--
--uint32_t
--widget_get_last_time(struct widget *widget);
--
--void
--widget_input_region_add(struct widget *widget, const struct rectangle *rect);
--
--void
--widget_set_redraw_handler(struct widget *widget,
-- widget_redraw_handler_t handler);
--void
--widget_set_resize_handler(struct widget *widget,
-- widget_resize_handler_t handler);
--void
--widget_set_enter_handler(struct widget *widget,
-- widget_enter_handler_t handler);
--void
--widget_set_leave_handler(struct widget *widget,
-- widget_leave_handler_t handler);
--void
--widget_set_motion_handler(struct widget *widget,
-- widget_motion_handler_t handler);
--void
--widget_set_button_handler(struct widget *widget,
-- widget_button_handler_t handler);
--void
--widget_set_touch_down_handler(struct widget *widget,
-- widget_touch_down_handler_t handler);
--void
--widget_set_touch_up_handler(struct widget *widget,
-- widget_touch_up_handler_t handler);
--void
--widget_set_touch_motion_handler(struct widget *widget,
-- widget_touch_motion_handler_t handler);
--void
--widget_set_touch_frame_handler(struct widget *widget,
-- widget_touch_frame_handler_t handler);
--void
--widget_set_touch_cancel_handler(struct widget *widget,
-- widget_touch_cancel_handler_t handler);
--void
--widget_set_axis_handler(struct widget *widget,
-- widget_axis_handler_t handler);
--void
--widget_set_pointer_frame_handler(struct widget *widget,
-- widget_pointer_frame_handler_t handler);
--void
--widget_set_axis_handlers(struct widget *widget,
-- widget_axis_handler_t axis_handler,
-- widget_axis_source_handler_t axis_source_handler,
-- widget_axis_stop_handler_t axis_stop_handler,
-- widget_axis_discrete_handler_t axis_discrete_handler);
--
--void
--widget_schedule_redraw(struct widget *widget);
--void
--widget_set_use_cairo(struct widget *widget, int use_cairo);
--
--struct widget *
--window_frame_create(struct window *window, void *data);
--
--void
--window_frame_set_child_size(struct widget *widget, int child_width,
-- int child_height);
--
--void
--input_set_pointer_image(struct input *input, int pointer);
--
--void
--input_get_position(struct input *input, int32_t *x, int32_t *y);
--
--int
--input_get_touch(struct input *input, int32_t id, float *x, float *y);
--
--#define MOD_SHIFT_MASK 0x01
--#define MOD_ALT_MASK 0x02
--#define MOD_CONTROL_MASK 0x04
--
--uint32_t
--input_get_modifiers(struct input *input);
--
--void
--touch_grab(struct input *input, int32_t touch_id);
--
--void
--touch_ungrab(struct input *input);
--
--void
--input_grab(struct input *input, struct widget *widget, uint32_t button);
--
--void
--input_ungrab(struct input *input);
--
--struct widget *
--input_get_focus_widget(struct input *input);
--
--struct display *
--input_get_display(struct input *input);
--
--struct wl_seat *
--input_get_seat(struct input *input);
--
--struct wl_data_device *
--input_get_data_device(struct input *input);
--
--void
--input_set_selection(struct input *input,
-- struct wl_data_source *source, uint32_t time);
--
--void
--input_accept(struct input *input, const char *type);
--
--
--void
--input_receive_drag_data(struct input *input, const char *mime_type,
-- data_func_t func, void *user_data);
--int
--input_receive_drag_data_to_fd(struct input *input,
-- const char *mime_type, int fd);
--
--int
--input_receive_selection_data(struct input *input, const char *mime_type,
-- data_func_t func, void *data);
--int
--input_receive_selection_data_to_fd(struct input *input,
-- const char *mime_type, int fd);
--
--void
--output_set_user_data(struct output *output, void *data);
--
--void *
--output_get_user_data(struct output *output);
--
--void
--output_set_destroy_handler(struct output *output,
-- display_output_handler_t handler);
--
--void
--output_get_allocation(struct output *output, struct rectangle *allocation);
--
--struct wl_output *
--output_get_wl_output(struct output *output);
--
--enum wl_output_transform
--output_get_transform(struct output *output);
--
--uint32_t
--output_get_scale(struct output *output);
--
--const char *
--output_get_make(struct output *output);
--
--const char *
--output_get_model(struct output *output);
--
--void
--keysym_modifiers_add(struct wl_array *modifiers_map,
-- const char *name);
--
--xkb_mod_mask_t
--keysym_modifiers_get_mask(struct wl_array *modifiers_map,
-- const char *name);
--
- #endif
-diff --git a/configure.ac b/configure.ac
-index 1d11864..15057df 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -35,7 +35,7 @@ AC_PROG_SED
-
- # Initialize libtool
- LT_PREREQ([2.2])
--LT_INIT([disable-static])
-+LT_INIT([shared static])
-
- AC_ARG_VAR([WESTON_NATIVE_BACKEND],
- [Set the native backend to use, if Weston is not running under Wayland nor X11. @<:@default=drm-backend.so@:>@])
---
-2.7.4
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0003-add-window-set-fullscreen-at-output.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0003-add-window-set-fullscreen-at-output.patch
deleted file mode 100644
index d519a49..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0003-add-window-set-fullscreen-at-output.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff --git a/clients/toytoolkit.h b/clients/toytoolkit.h
-index fdf9b57..402836d 100644
---- a/clients/toytoolkit.h
-+++ b/clients/toytoolkit.h
-@@ -84,6 +84,12 @@ display_get_compositor(struct display *display);
- struct output *
- display_get_output(struct display *display);
-
-+unsigned int
-+display_get_outputs_number(struct display *display);
-+
-+struct output *
-+display_get_output_by_index(struct display *display, unsigned int index);
-+
- uint32_t
- display_get_serial(struct display *display);
-
-@@ -372,6 +378,9 @@ window_is_fullscreen(struct window *window);
- void
- window_set_fullscreen(struct window *window, int fullscreen);
-
-+void
-+window_set_fullscreen_at_output(struct window *window, int fullscreen, struct output *output);
-+
- int
- window_is_maximized(struct window *window);
-
-diff --git a/clients/window.c b/clients/window.c
-index 0e73f5b..2d38796 100644
---- a/clients/window.c
-+++ b/clients/window.c
-@@ -4364,6 +4364,21 @@ window_set_fullscreen(struct window *window, int fullscreen)
- xdg_surface_unset_fullscreen(window->xdg_surface);
- }
-
-+void
-+window_set_fullscreen_at_output(struct window *window, int fullscreen, struct output *output)
-+{
-+ if (!window->xdg_surface)
-+ return;
-+
-+ if (window->fullscreen == fullscreen)
-+ return;
-+
-+ if (fullscreen)
-+ xdg_surface_set_fullscreen(window->xdg_surface, output ? output_get_wl_output(output) : NULL);
-+ else
-+ xdg_surface_unset_fullscreen(window->xdg_surface);
-+}
-+
- int
- window_is_maximized(struct window *window)
- {
-@@ -5743,6 +5758,29 @@ display_get_output(struct display *display)
- return container_of(display->output_list.next, struct output, link);
- }
-
-+unsigned int
-+display_get_outputs_number(struct display *display)
-+{
-+ return wl_list_length(&display->output_list);
-+}
-+
-+struct output *
-+display_get_output_by_index(struct display *display, unsigned int index)
-+{
-+ int i;
-+ int n = wl_list_length(&display->output_list);
-+ struct wl_list *item;
-+
-+ if (index >= n)
-+ return NULL;
-+
-+ item = display->output_list.next;
-+ for (i = 0; i < index; i++)
-+ item = item->next;
-+
-+ return container_of(item, struct output, link);
-+}
-+
- struct wl_compositor *
- display_get_compositor(struct display *display)
- {
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0004-Add-display_poll-function.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0004-Add-display_poll-function.patch
deleted file mode 100644
index d1a9725..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0004-Add-display_poll-function.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/clients/toytoolkit.h b/clients/toytoolkit.h
-index 402836d..767a84e 100644
---- a/clients/toytoolkit.h
-+++ b/clients/toytoolkit.h
-@@ -173,6 +173,9 @@ display_unwatch_fd(struct display *display, int fd);
- void
- display_run(struct display *d);
-
-+int
-+display_poll(struct display *display, int timeout);
-+
- void
- display_exit(struct display *d);
-
-diff --git a/clients/window.c b/clients/window.c
-index 2d38796..8540553 100644
---- a/clients/window.c
-+++ b/clients/window.c
-@@ -6011,6 +6011,58 @@ display_run(struct display *display)
- }
- }
-
-+int
-+display_poll(struct display *display, int timeout)
-+{
-+ struct task *task;
-+ struct epoll_event ep[16];
-+ int i, count, ret;
-+
-+ display->running = 1;
-+ while (!wl_list_empty(&display->deferred_list)) {
-+ task = container_of(display->deferred_list.prev,
-+ struct task, link);
-+ wl_list_remove(&task->link);
-+ task->run(task, 0);
-+ }
-+
-+ /* ...prepare for a reading */
-+ while (wl_display_prepare_read(display->display) != 0)
-+ {
-+ /* ...dispatch all pending events and repeat attempt */
-+ wl_display_dispatch_pending(display->display);
-+ }
-+
-+ /* ...flush all outstanding commands to a display */
-+ if (wl_display_flush(display->display) < 0) {
-+ return -1;
-+ }
-+
-+ if (!display->running)
-+ return -1;
-+
-+ count = epoll_wait(display->epoll_fd, ep, ARRAY_LENGTH(ep), timeout);
-+ if (!count) {
-+ wl_display_cancel_read(display->display);
-+ return 0;
-+ }
-+
-+ if (count > 0) {
-+ /* ...read display events (if any) before we do any drawing */
-+ if (wl_display_read_events(display->display) < 0) {
-+ return -1;
-+ }
-+
-+ /* ...process pending display events (if any) */
-+ if (wl_display_dispatch_pending(display->display) < 0) {
-+ return -1;
-+ }
-+ } else if (count < 0) {
-+ wl_display_cancel_read(display->display);
-+ return count;
-+ }
-+}
-+
- void
- display_exit(struct display *display)
- {
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0005-Add-wl-ivi-shell-surface-creating-support.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0005-Add-wl-ivi-shell-surface-creating-support.patch
deleted file mode 100644
index 5c732b1..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0005-Add-wl-ivi-shell-surface-creating-support.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 626341e48f4159d91ff39af2d0dc7bc720521121 Mon Sep 17 00:00:00 2001
-From: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
-Date: Tue, 13 Jun 2017 23:58:37 +0300
-Subject: [PATCH 4/4] Add wl ivi shell sirface creating support
-
----
- ivi-shell/ivi-layout-export.h | 19 +++++++++++++++++++
- ivi-shell/ivi-layout.c | 2 ++
- 2 files changed, 21 insertions(+)
-
-diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h
-index 33aa820..78dab61 100644
---- a/ivi-shell/ivi-layout-export.h
-+++ b/ivi-shell/ivi-layout-export.h
-@@ -149,6 +149,25 @@ struct ivi_layout_interface {
- */
- int32_t (*commit_changes)(void);
-
-+ /**
-+ * \brief Creates an ivi_layout_surface.
-+ *
-+ * \return IVI_SUCCEEDED if the method call was successful
-+ * \return IVI_FAILED if the method call was failed
-+ */
-+ struct ivi_layout_surface* (*surface_create)(
-+ struct weston_surface *wl_surface,
-+ uint32_t id_surface);
-+
-+ /**
-+ * \brief Configure an ivi_layout_surface
-+ *
-+ * \return IVI_SUCCEEDED if the method call was successful
-+ * \return IVI_FAILED if the method call was failed
-+ */
-+ void (*surface_configure)(struct ivi_layout_surface *ivisurf,
-+ int32_t width, int32_t height);
-+
- /**
- * surface controller interface
- */
-diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
-index 7fa8b33..161694d 100644
---- a/ivi-shell/ivi-layout.c
-+++ b/ivi-shell/ivi-layout.c
-@@ -1985,6 +1985,8 @@ static struct ivi_layout_interface ivi_layout_interface = {
- * commit all changes
- */
- .commit_changes = ivi_layout_commit_changes,
-+ .surface_create = ivi_layout_surface_create,
-+ .surface_configure = ivi_layout_surface_configure,
-
- /**
- * surface controller interfaces
---
-2.7.4
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0006-Add-widget_set_surface_allocation-func.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0006-Add-widget_set_surface_allocation-func.patch
deleted file mode 100644
index 7fb1ce6..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0006-Add-widget_set_surface_allocation-func.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From e513edbcb6d870c9ce956f0a092d01540073b750 Mon Sep 17 00:00:00 2001
-From: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
-Date: Tue, 13 Dec 2016 00:43:11 +0300
-Subject: [PATCH] Add widget_set_surface_allocation func
-
----
- clients/toytoolkit.h | 3 +++
- clients/window.c | 12 ++++++++++++
- 2 files changed, 15 insertions(+)
-
-diff --git a/clients/toytoolkit.h b/clients/toytoolkit.h
-index 767a84e..d0e73ab 100644
---- a/clients/toytoolkit.h
-+++ b/clients/toytoolkit.h
-@@ -469,6 +469,9 @@ void
- widget_set_allocation(struct widget *widget,
- int32_t x, int32_t y, int32_t width, int32_t height);
- void
-+widget_set_surface_allocation(struct widget *widget,
-+ int32_t x, int32_t y, int32_t width, int32_t height);
-+void
- widget_set_size(struct widget *widget, int32_t width, int32_t height);
- void
- widget_set_transparent(struct widget *widget, int transparent);
-diff --git a/clients/window.c b/clients/window.c
-index 0114ece..820cd78 100644
---- a/clients/window.c
-+++ b/clients/window.c
-@@ -1695,6 +1695,18 @@ widget_set_allocation(struct widget *widget,
- }
-
- void
-+widget_set_surface_allocation(struct widget *widget,
-+ int32_t x, int32_t y, int32_t width, int32_t height)
-+{
-+ if (widget->surface) {
-+ widget->surface->allocation.x = x;
-+ widget->surface->allocation.y = y;
-+ widget->surface->allocation.width = width;
-+ widget->surface->allocation.height = height;
-+ }
-+}
-+
-+void
- widget_set_transparent(struct widget *widget, int transparent)
- {
- widget->opaque = !transparent;
---
-2.7.4
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0007-Add-call-for-setting-fullscreen-with-IVI.patch b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0007-Add-call-for-setting-fullscreen-with-IVI.patch
deleted file mode 100644
index dcecbde..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-1.11.0/0007-Add-call-for-setting-fullscreen-with-IVI.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9f1228fad3e549fd0ead4fd37573e02b874d1661 Mon Sep 17 00:00:00 2001
-From: Grigory Kletsko <grigory.kletsko@cogentembedded.com>
-Date: Tue, 13 Dec 2016 18:20:11 +0300
-Subject: [PATCH] Add call for setting fullscreen with IVI
-
----
- clients/toytoolkit.h | 3 +++
- clients/window.c | 6 ++++++
- 2 files changed, 9 insertions(+)
-
-diff --git a/clients/toytoolkit.h b/clients/toytoolkit.h
-index d0e73ab..1759a52 100644
---- a/clients/toytoolkit.h
-+++ b/clients/toytoolkit.h
-@@ -384,6 +384,9 @@ window_set_fullscreen(struct window *window, int fullscreen);
- void
- window_set_fullscreen_at_output(struct window *window, int fullscreen, struct output *output);
-
-+void
-+window_set_fullscreen_hack(struct window *window, int fullscreen);
-+
- int
- window_is_maximized(struct window *window);
-
-diff --git a/clients/window.c b/clients/window.c
-index 820cd78..638e2ff 100644
---- a/clients/window.c
-+++ b/clients/window.c
-@@ -4391,6 +4391,12 @@ window_set_fullscreen_at_output(struct window *window, int fullscreen, struct ou
- xdg_surface_unset_fullscreen(window->xdg_surface);
- }
-
-+void
-+window_set_fullscreen_hack(struct window *window, int fullscreen)
-+{
-+ window->fullscreen = fullscreen;
-+}
-+
- int
- window_is_maximized(struct window *window)
- {
---
-2.7.4
-
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init.bbappend b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init.bbappend
deleted file mode 100644
index 35bafac..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI_append = " \
- file://weston_exp.sh \
-"
-
-# Add Weston configuration script
-do_install_append() {
- install -d ${D}/etc/profile.d
- install -m 0755 ${WORKDIR}/weston_exp.sh ${D}/etc/profile.d
-}
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init/weston_exp.sh b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init/weston_exp.sh
deleted file mode 100755
index 18be2ad..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston-init/weston_exp.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-if test -z "$XDG_RUNTIME_DIR"; then
- export XDG_RUNTIME_DIR=/run/user/`id -u`
- if ! test -d "$XDG_RUNTIME_DIR"; then
- mkdir --parents $XDG_RUNTIME_DIR
- chmod 0700 $XDG_RUNTIME_DIR
- fi
-fi
-
-export QT_QPA_PLATFORM=wayland
diff --git a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston_1.11.0.bbappend b/meta-rcar-gen3-adas/recipes-graphics/wayland/weston_1.11.0.bbappend
deleted file mode 100644
index 254657f..0000000
--- a/meta-rcar-gen3-adas/recipes-graphics/wayland/weston_1.11.0.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-FILESEXTRAPATHS_prepend := '${THISDIR}/${PN}-${PV}:'
-
-SRC_URI_append = " \
- file://0001-Allow-to-boot-without-input-device.patch \
- file://0002-Share-toytoolkit-lib.patch \
- file://0003-add-window-set-fullscreen-at-output.patch \
- file://0004-Add-display_poll-function.patch \
- file://0005-Add-wl-ivi-shell-surface-creating-support.patch \
- file://0006-Add-widget_set_surface_allocation-func.patch \
- file://0007-Add-call-for-setting-fullscreen-with-IVI.patch \
-"
-
-FILES_${PN} += " ${libdir}/libweston-toytoolkit*" \ No newline at end of file
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux-firmware/linux-firmware_git.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
index e494b0c..c620ef4 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
@@ -1,63 +1,14 @@
-SRCREV = "dbb85a5154a5da7fa94bf9caa3658d4b6999cee6"
+# Support additional firmware for WiLink8 modules
+#
+# TIInit_11.8.32.bts V4.2 is not in the linux-firmware repository.
-# Changing SRCREV cause some license files to change.
-# As a result we need to change md5 for some these files.
-# The only way to do this is to overwrite whole LIC_FILES_CHKSUM
-
-LIC_FILES_CHKSUM = "\
- file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
- file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
- file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
- file://LICENSE.amd-ucode;md5=3a0de451253cc1edbf30a3c621effee3 \
- file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
- file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
- file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
- file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
- file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
- file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
- file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
- file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
- file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
- file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
- file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
- file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
- file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
- file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
- file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
- file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
- file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
- file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
- file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \
- file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
- file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \
- file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
- file://LICENCE.mwl8335;md5=9a6271ee0e644404b2ff3c61fd070983 \
- file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
- file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
- file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
- file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
- file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
- file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
- file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
- file://LICENCE.qla2xxx;md5=f5ce8529ec5c17cb7f911d2721d90e91 \
- file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
- file://LICENSE.QualcommAtheros_ath10k;md5=b5fe244fb2b532311de1472a3bc06da5 \
- file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
- file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
- file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
- file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
- file://LICENCE.siano;md5=602c79ae3f98f1e73d880fd9f940a418 \
- file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \
- file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
- file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
- file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
- file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
- file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
- file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
- file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
- file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
- \
- file://LICENSE.amdgpu;md5=3fe8a3430700a518990c3b3d75297209 \
- file://LICENSE.radeon;md5=69612f4f7b141a97659cb1d609a1bde2 \
- file://WHENCE;md5=39dbb62d53262685b8bd977329dc4c10 \
+SRC_URI_append = " \
+ https://git.ti.com/ti-bt/service-packs/blobs/raw/3acb49e97179320cb7564d202d0dde23ad7bd0a2/initscripts/TIInit_11.8.32.bts \
"
+
+SRC_URI[md5sum] = "b1e142773e8ef0537b93895ebe2fcae3"
+SRC_URI[sha256sum] = "962322c05857ad6b1fb81467bdfc59c125e04a6a8eaabf7f24b742ddd68c3bfa"
+
+do_install_append() {
+ install -m 644 ${WORKDIR}/TIInit_11.8.32.bts ${D}/lib/firmware/ti-connectivity/
+}
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch
new file mode 100644
index 0000000..31a66b7
--- /dev/null
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch
@@ -0,0 +1,34 @@
+From 9f2cf209ef8235f33683ca941fd0d7bdcca4078d Mon Sep 17 00:00:00 2001
+From: Matt Porter <mporter@konsulko.com>
+Date: Sun, 17 Dec 2017 21:44:41 -0500
+Subject: [PATCH] arm64: dts: renesas: disable r8a7796 hscif0 dma
+
+When streaming A2DP audio on WiLink8, DMA errors are
+seen from the rcar-dmac driver servicing hscif0. As
+a result, data corruption is seen by the UIM service
+managing the link to the Wilink8 device. This data
+corruption manifests as dropped frames and audibly as
+"skips" in the audio playback.
+
+Workaround this issue by disabling DMA for hscif0.
+
+Signed-off-by: Matt Porter <mporter@konsulko.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index e3a5c25bc3da..dd97af4bdd60 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -1282,7 +1282,6 @@
+ <&scif_clk>;
+ clock-names = "fck", "brg_int", "scif_clk";
+ dmas = <&dmac1 0x31>, <&dmac1 0x30>;
+- dma-names = "tx", "rx";
+ power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+ status = "disabled";
+ };
+--
+2.11.0
+
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch
new file mode 100644
index 0000000..4f87f30
--- /dev/null
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch
@@ -0,0 +1,54 @@
+From df5348a8ec6f611fe3fc51d7c12898b8830d89d3 Mon Sep 17 00:00:00 2001
+From: Matt Porter <mporter@konsulko.com>
+Date: Wed, 13 Dec 2017 12:49:20 -0500
+Subject: [PATCH] arm64: dts: renesas: preserve drm HDMI connector naming on KF
+
+Kingfisher adds encoders on ports 0 and 2 of the R-Car
+display unit. The bare ULCB SK has only an HDMI encoder
+in use on port 1. When the system is booted with an SK
+dtb, port 1's HDMI encoder is assigned as HDMI-A-1 because
+it is the first (and only) encoder present. When booting
+a KF dtb, port 0's HDMI encoder preceeds port1 in the dtb due
+to incremental ordering of the endpoint port nodes. This causes
+the KF HDMI to be assigned HDMI-A-1 and the SK HDMI to be assigned
+as HDMI-A-2. In order to preserve the SK's HDMI output naming as
+connector HDMI-A-1, reorder the endpoint port nodes so that port1
+is first.
+
+Change-Id: Ibbb1975c2383a526a54c257fb7d68d32a042d468
+Signed-off-by: Matt Porter <mporter@konsulko.com>
+---
+ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+index bf37b8aa0e2f..e3a5c25bc3da 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+@@ -2391,11 +2391,6 @@
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+- port@0 {
+- reg = <0>;
+- du_out_rgb: endpoint {
+- };
+- };
+ port@1 {
+ reg = <1>;
+ du_out_hdmi0: endpoint {
+@@ -2406,6 +2401,11 @@
+ du_out_lvds0: endpoint {
+ };
+ };
++ port@0 {
++ reg = <0>;
++ du_out_rgb: endpoint {
++ };
++ };
+ };
+ };
+
+--
+2.11.0
+
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/ulcb.cfg b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/ulcb.cfg
index 2714452..a821c24 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/ulcb.cfg
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/ulcb.cfg
@@ -71,13 +71,6 @@ CONFIG_DRM_I2C_ADV7511=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_SERIAL_SH_SCI_DMA=y
CONFIG_STAGING=y
-CONFIG_MOST=y
-CONFIG_MOSTCORE=y
-CONFIG_AIM_CDEV=y
-CONFIG_AIM_NETWORK=y
-CONFIG_AIM_SOUND=y
-CONFIG_AIM_V4L2=y
-CONFIG_HDM_DIM2=y
CONFIG_UIO=y
CONFIG_SENSORS_EMC2103=y
CONFIG_PMBUS=y
@@ -87,3 +80,4 @@ CONFIG_SENSORS_LM63=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_RAID0=y
+CONFIG_MMC_SDHI_SEQ_WORKAROUND=y
diff --git a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
index b35a8e1..e782c9f 100644
--- a/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
+++ b/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_4.9.bbappend
@@ -6,6 +6,17 @@ COMPATIBLE_MACHINE_condor = "condor"
COMPATIBLE_MACHINE_v3mzf = "v3mzf"
COMPATIBLE_MACHINE_v3hsk = "v3hsk"
+BRANCH = "v4.9/rcar-3.5.9"
+SRCREV = "2c20c9881d53f1b5c7a3ebf55bb83ec15902d0d0"
+
+KERNEL_MODULE_PROBECONF += "btwilink"
+module_conf_btwilink = "blacklist btwilink"
+
+SRC_URI_remove = " \
+ file://0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch \
+ file://0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch \
+"
+
SRC_URI_append = " \
${@bb.utils.contains('MACHINE_FEATURES', 'h3ulcb-had', ' file://hyperflash.cfg', '', d)} \
${@base_conditional("SDHI_SEQ", "1", " file://sdhi_seq.cfg", "", d)} \
@@ -45,7 +56,6 @@ SRC_URI_append = " \
file://0033-media-soc-camera-fix-parallel-i-f-in-VIN.patch \
file://0034-media-soc_camera-Fix-VIDIOC_S_SELECTION-ioctl-miscal.patch \
file://0040-arm64-dts-renesas-add-ADAS-boards.patch \
- file://0041-arm64-dts-renesas-ulcb-enlarge-cma-region.patch \
file://0042-arm64-dts-renesas-r8a7795-es1-h3ulcb-disable-eMMC.patch \
file://0043-arm64-dts-renesas-ulcb-use-versaclock-for-du-rgb-and-lvds.patch \
file://0044-pinctrl-r8a779x-add-mlb-pinmux.patch \
@@ -111,6 +121,8 @@ SRC_URI_append = " \
file://0129-Add-cropping-handling-to-VSP-alpha-planes.patch \
file://0130-Add-RAW-sensors-MBUS-formats.patch \
file://0131-ARM64-dts-renesas-ulcb-Make-AK4613-sound-device-name.patch \
+ file://0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch \
+ file://0001-arm64-dts-renesas-disable-r8a7796-hscif0-dma.patch \
"
SRC_URI_append_h3ulcb = " file://ulcb.cfg"
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/client.conf b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/client.conf
deleted file mode 100644
index a17325b..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/client.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
-
-## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
-## more information. Default values are commented out. Use either ; or # for
-## commenting.
-
-; default-sink =
-; default-source =
-; default-server =
-; default-dbus-server =
-
-; autospawn = yes
-; allow-autospawn-for-root = no
-; daemon-binary = /usr/bin/pulseaudio
-; extra-arguments = --log-target=syslog
-
-; cookie-file =
-
-; enable-shm = yes
-; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
-
-; auto-connect-localhost = no
-; auto-connect-display = no
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/daemon.conf b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/daemon.conf
deleted file mode 100644
index 5d42a9e..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/daemon.conf
+++ /dev/null
@@ -1,87 +0,0 @@
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA.
-
-## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
-## more information. Default values are commented out. Use either ; or # for
-## commenting.
-
-; daemonize = no
-; fail = yes
-; allow-module-loading = yes
-; allow-exit = yes
-; use-pid-file = yes
-; system-instance = no
-; local-server-type = user
-; enable-shm = yes
-; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
-; lock-memory = no
-; cpu-limit = no
-
-; high-priority = yes
-; nice-level = -11
-
-; realtime-scheduling = yes
-; realtime-priority = 5
-
-; exit-idle-time = 20
-; scache-idle-time = 20
-
-; dl-search-path = (depends on architecture)
-
-; load-default-script-file = yes
-; default-script-file = /etc/pulse/default.pa
-
-log-target = null
-; log-level = notice
-; log-meta = no
-; log-time = no
-; log-backtrace = 0
-
-; resample-method = speex-float-1
-; enable-remixing = yes
-; enable-lfe-remixing = no
-
-; flat-volumes = yes
-
-; rlimit-fsize = -1
-; rlimit-data = -1
-; rlimit-stack = -1
-; rlimit-core = -1
-; rlimit-as = -1
-; rlimit-rss = -1
-; rlimit-nproc = -1
-; rlimit-nofile = 256
-; rlimit-memlock = -1
-; rlimit-locks = -1
-; rlimit-sigpending = -1
-; rlimit-msgqueue = -1
-; rlimit-nice = 31
-; rlimit-rtprio = 9
-; rlimit-rttime = 1000000
-
-; default-sample-format = s16le
-default-sample-rate = 48000
-; alternate-sample-rate = 48000
-; default-sample-channels = 2
-; default-channel-map = front-left,front-right
-
-; default-fragments = 4
-; default-fragment-size-msec = 25
-
-; enable-deferred-volume = yes
-; deferred-volume-safety-margin-usec = 8000
-; deferred-volume-extra-delay-usec = 0
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/hifi b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/hifi
deleted file mode 100644
index e897b98..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/hifi
+++ /dev/null
@@ -1,50 +0,0 @@
-# Use case Configuration for Renesas H3 board
-
-SectionVerb {
- EnableSequence [
- exec "echo Setting defaults for ak4613"
- cdev "hw:ak4613"
- cset "name='DVC Out Playback Volume' 30%"
- cset "name='DVC In Capture Volume' 10%"
- ]
- DisableSequence [
- ]
-}
-
-
-SectionDevice."Headphone".0 {
- Value {
- JackName "Headphone Jack"
- PlaybackChannels 2
- PlaybackPCM "hw:0"
- }
-
- EnableSequence [
- cdev "hw:ak4613"
- cset "name='DVC Out Playback Volume' 30%"
- ]
- DisableSequence [
- cdev "hw:ak4613"
- cset "name='DVC Out Playback Volume' 0%"
- ]
-}
-
-SectionDevice."Mic".0 {
- Value {
- JackName "Mic Jack"
- CaptureChannels 2
- CapturePCM "hw:0"
- }
-
- EnableSequence [
- cdev "hw:ak4613"
- cset "name='DVC In Capture Volume' 10%"
- ]
-
- DisableSequence [
- cdev "hw:ak4613"
- cset "name='DVC In Capture Volume' 0%"
- ]
-}
-
-
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-bluetooth.conf b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-bluetooth.conf
deleted file mode 100644
index 925b9b1..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-bluetooth.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-<busconfig>
-
- <policy user="pulse">
- <allow send_destination="org.bluez"/>
- </policy>
-
-</busconfig>
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-ofono.conf b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-ofono.conf
deleted file mode 100644
index e526d77..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio-ofono.conf
+++ /dev/null
@@ -1,15 +0,0 @@
-<busconfig>
-
- <policy user="pulse">
- <allow own="org.pulseaudio.Server"/>
- <allow send_destination="org.bluez"/>
- <allow send_destination="org.ofono"/>
- <allow send_interface="org.ofono.SimToolkitAgent"/>
- <allow send_interface="org.ofono.PushNotificationAgent"/>
- <allow send_interface="org.ofono.SmartMessagingAgent"/>
- <allow send_interface="org.ofono.PositioningRequestAgent"/>
- <allow send_interface="org.ofono.HandsfreeAudioAgent"/>
- <allow send_interface="org.ofono.HandsfreeAudioManager"/>
- </policy>
-
-</busconfig>
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio.init b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio.init
deleted file mode 100755
index db8f965..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/pulseaudio.init
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-#
-### BEGIN INIT INFO
-# Provides: pulseaudio-server
-# Required-Start: $local_fs $remote_fs
-# Required-Stop: $local_fs $remote_fs
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-### END INIT INFO
-
-killproc() {
- pid=`/bin/pidof $1`
- [ "$pid" != "" ] && kill $pid
-}
-
-read CMDLINE < /proc/cmdline
-for x in $CMDLINE; do
- case $x in
- pulseaudio=false)
- echo "pulseaudio disabled"
- exit 0;
- ;;
- esac
-done
-
-case "$1" in
- start)
- echo "Starting pulseaudio"
- start-stop-daemon -S -x pulseaudio -- -D --system --disallow-exit --log-level=3 --log-target=file:/var/log/pa.log
- ;;
-
- stop)
- echo "Stopping pulseaudio"
- start-stop-daemon -K -x pulseaudio
- ;;
-
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
-
- *)
- echo "usage: $0 { start | stop | restart }"
- ;;
-esac
-
-exit 0
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/rsnddai0ak4613h.conf b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/rsnddai0ak4613h.conf
deleted file mode 100644
index 1c084de..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/rsnddai0ak4613h.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# Use case Configuration for Renesas H3 board
-
-Comment "Renesas H3 board ak4613 audio card"
-
-SectionUseCase."HiFi" {
- File "hifi"
- Comment "Default"
-}
-
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/system.pa b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/system.pa
deleted file mode 100644
index 963a7c9..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/files/system.pa
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/pulseaudio -nF
-#
-# This file is part of PulseAudio.
-#
-# PulseAudio is free software; you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# PulseAudio is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with PulseAudio; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-
-# This startup script is used only if PulseAudio is started in system
-# mode.
-
-## use static load order to prevent pulseaudio to auto probe MOST devices
-## MOST drivers does not like how pulse probing it and crashes system
-
-## Onboard sound (All R-Car 3 boards)
-## use ALSA card plugin to run UCM and initial controls setup
-.fail
-load-module module-alsa-card device_id=ak4613 rate=48000 use_ucm=1 tsched=yes sink_name=ak4613_output source_name=ak4613_input
-
-## Kingfisher specific devices (may not present)
-.nofail
-## PCM3168A card (Kingfisher only)
-load-module module-alsa-card device_id=pcm3168a sink_name=pcm3168a_output source_name=pcm3168a_input format=s24-32le rate=48000
-## Radio input (Kingfisher only)
-load-module module-alsa-card device_id=radio source_name=radio rate=48000
-## WL18xx PCM interface (Kingfisher only)
-load-module module-alsa-card device_id=wl18xx rate=48000 sink_name=bt_output source_name=bt_input
-
-### Load several protocols
-.ifexists module-esound-protocol-unix.so
-load-module module-esound-protocol-unix
-.endif
-load-module module-native-protocol-unix auth-anonymous=1
-
-### Automatically restore the volume of streams and devices
-load-module module-stream-restore
-load-module module-device-restore
-
-### Automatically restore the default sink/source when changed by the user
-### during runtime
-### NOTE: This should be loaded as early as possible so that subsequent modules
-### that look up the default sink/source get the right value
-load-module module-default-device-restore
-
-### Automatically move streams to the default sink if the sink they are
-### connected to dies, similar for sources
-load-module module-rescue-streams
-
-### Make sure we always have a sink around, even if it is a null sink.
-load-module module-always-sink
-
-### Automatically suspend sinks/sources that become idle for too long
-# load-module module-suspend-on-idle
-
-### Enable positioned event sounds
-# load-module module-position-event-sounds
-
-### Automatically load driver modules for Bluetooth hardware
-.ifexists module-bluetooth-policy.so
-load-module module-bluetooth-policy
-.endif
-
-.ifexists module-bluetooth-discover.so
-load-module module-bluetooth-discover headset=auto
-.endif
-
-set-default-sink ak4613_output
-set-default-source ak4613_input
-
-# For Kingfisher board set default source and sink to multichannel soundcard
-set-default-sink pcm3168a_output
-set-default-source pcm3168a_input
diff --git a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/pulseaudio_8.0.bbappend b/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/pulseaudio_8.0.bbappend
deleted file mode 100644
index 7d28801..0000000
--- a/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/pulseaudio_8.0.bbappend
+++ /dev/null
@@ -1,42 +0,0 @@
-FILESEXTRAPATHS_append := "${THISDIR}/files:"
-
-PR="r2"
-
-SRC_URI_append_rcar-gen3 = " \
- file://pulseaudio.init \
- file://rsnddai0ak4613h.conf \
- file://hifi \
- file://system.pa \
- file://daemon.conf \
- file://pulseaudio-bluetooth.conf \
- file://pulseaudio-ofono.conf \
-"
-
-inherit update-rc.d
-
-INITSCRIPT_PACKAGES = "${PN}-server"
-INITSCRIPT_NAME_${PN}-server = "pulseaudio"
-INITSCRIPT_PARAMS_${PN}-server = "defaults 30"
-
-do_install_append_rcar-gen3() {
- install -d ${D}/etc/init.d
- install -d ${D}/etc/pulse
- install -d ${D}/usr/share/alsa/ucm/rsnddai0ak4613h/
-
- install -m 0755 ${WORKDIR}/pulseaudio.init ${D}/etc/init.d/pulseaudio
-
- install -m 0644 ${WORKDIR}/system.pa ${D}/etc/pulse/system.pa
- install -m 0644 ${WORKDIR}/daemon.conf ${D}/etc/pulse/daemon.conf
-
- install -m 0644 ${WORKDIR}/rsnddai0ak4613h.conf ${D}${datadir}/alsa/ucm/rsnddai0ak4613h/rsnddai0ak4613h.conf
- install -m 0644 ${WORKDIR}/hifi ${D}${datadir}/alsa/ucm/rsnddai0ak4613h/hifi
-
- install -d ${D}/${sysconfdir}/dbus-1/system.d
- install -m 644 ${WORKDIR}/pulseaudio-bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
- install -m 644 ${WORKDIR}/pulseaudio-ofono.conf ${D}/${sysconfdir}/dbus-1/system.d/
-}
-
-FILES_${PN}-server += " \
- ${datadir}/alsa/ucm \
- ${datadir}/dbus-1/ \
-"
diff --git a/meta-rcar-gen3-adas/recipes-support/glog/glog-0.3.3/0001-Use-pkg-config-for-locating-gflags-and-gmock.patch b/meta-rcar-gen3-adas/recipes-support/glog/glog-0.3.3/0001-Use-pkg-config-for-locating-gflags-and-gmock.patch
deleted file mode 100644
index 7208bfe..0000000
--- a/meta-rcar-gen3-adas/recipes-support/glog/glog-0.3.3/0001-Use-pkg-config-for-locating-gflags-and-gmock.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ca8570bad0bbefb450a2cbe40c17eb5a5565f829 Mon Sep 17 00:00:00 2001
-From: Petr Nechaev <petr.nechaev@cogentembedded.com>
-Date: Wed, 22 Nov 2017 00:21:45 +0300
-Subject: [PATCH 1/1] Use pkg-config for locating gflags and gmock
-
-Binaries gflags-config and gmock-config are not generated during
-cross-compilation of gflags and gmock so use pkg-config instead.
----
- configure.ac | 14 ++++++++------
- 1 file changed, 8 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 8b458fa..16a6c7e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -138,17 +138,19 @@ LIBS="$SAVE_LIBS"
- # TODO(hamaji): Use official m4 macros provided by testing libraries
- # once the m4 macro of Google Mocking becomes ready.
- # Check if there is Google Test library installed.
--AC_CHECK_PROG(GTEST_CONFIG, gtest-config, "yes")
-+# Use pkg-config instead of gtest-config with Yocto
-+AC_CHECK_PROG(GTEST_CONFIG, pkg-config, "yes")
- if test x"$GTEST_CONFIG" = "xyes"; then
-- GTEST_CFLAGS=`gtest-config --cppflags --cxxflags`
-- GTEST_LIBS=`gtest-config --ldflags --libs`
-+ GTEST_CFLAGS=`pkg-config --cppflags --cxxflags gtest`
-+ GTEST_LIBS=`pkg-config --libs gtest`
- AC_DEFINE(HAVE_LIB_GTEST, 1, [define if you have google gtest library])
-
- # Check if there is Google Mocking library installed.
-- AC_CHECK_PROG(GMOCK_CONFIG, gmock-config, "yes")
-+ # Use pkg-config instead of gmock-config with Yocto
-+ AC_CHECK_PROG(GMOCK_CONFIG, pkg-config, "yes")
- if test x"$GMOCK_CONFIG" = "xyes"; then
-- GMOCK_CFLAGS=`gmock-config --cppflags --cxxflags`
-- GMOCK_LIBS=`gmock-config --ldflags --libs`
-+ GMOCK_CFLAGS=`pkg-config --cppflags --cxxflags gmock`
-+ GMOCK_LIBS=`pkg-config --libs gmock`
- AC_DEFINE(HAVE_LIB_GMOCK, 1, [define if you have google gmock library])
- else
- # We don't run test cases which use Google Mocking framework.
---
-2.9.5
-
diff --git a/meta-rcar-gen3/COPYING.MIT b/meta-rcar-gen3/COPYING.MIT
new file mode 100644
index 0000000..89de354
--- /dev/null
+++ b/meta-rcar-gen3/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/meta-rcar-gen3/README b/meta-rcar-gen3/README
new file mode 100644
index 0000000..dd87e65
--- /dev/null
+++ b/meta-rcar-gen3/README
@@ -0,0 +1,124 @@
+meta-rcar-gen3
+==============
+
+This layer provides that evaluation board is mounted ARM SoCs of Renesas
+Electronics, called the R-Car Generation 3. Currently, this supports
+board and the SoCs of the following:
+ - Board: Salvator-X / SoC: R8A7795 (R-Car H3), R8A7796 (R-Car M3)
+ - Board: R-Car Starter Kit premier(H3ULCB) / SoC: R8A7795 (R-Car H3)
+ - Board: R-Car Starter Kit pro(M3ULCB) / SoC: R8A7796 (R-Car M3)
+
+Patches
+=======
+
+Please submit any patches for this layer to: takamitsu.honda.pv@renesas.com
+Please see the MAINTAINERS file for more details.
+
+Dependencies
+============
+
+This layer depends on:
+
+ URI: git://git.yoctoproject.org/poky
+ layers: meta, meta-yocto, meta-yocto-bsp
+ branch: krogoth
+
+ URI: git://github.com/renesas-rcar/meta-renesas
+ layers: meta-rcar-gen3
+ branch: krogoth
+
+ URI: git://git.linaro.org/openembedded/meta-linaro.git
+ layers: meta-optee
+ branch: krogoth
+
+ URI: git://git.openembedded.org/meta-openembedded
+ layers: meta-oe
+ branch: krogoth
+
+Build Instructions
+==================
+
+The following instructions require a Poky installation (or equivalent).
+
+Initialize a build using the 'oe-init-build-env' script in Poky. e.g.:
+
+ $ source poky/oe-init-build-env
+
+After that, initialized configure bblayers.conf by adding meta-rcar-gen3 layer. e.g.:
+
+ BBLAYERS ?= " \
+ <path to layer>/poky/meta \
+ <path to layer>/poky/meta-yocto \
+ <path to layer>/poky/meta-yocto-bsp \
+ <path to layer>/meta-renesas/meta-rcar-gen3 \
+ <path to layer>/meta-linaro/meta-optee \
+ <path to layer>/meta-openembedded/meta-oe \
+ "
+
+To build a specific target BSP, configure the associated machine in local.conf:
+
+ MACHINE ??= "<supported board name>"
+
+Select the SOC
+
+ For H3: r8a7795
+ SOC_FAMILY = "r8a7795"
+
+ For M3: r8a7796
+ SOC_FAMILY = "r8a7796"
+
+Must change the package class to ipk files in local.conf:
+
+ PACKAGE_CLASSES ?= "package_ipk"
+
+Configure for systemd init in local.conf:
+
+ DISTRO_FEATURES_append = " systemd"
+ VIRTUAL-RUNTIME_init_manager = "systemd"
+
+Build the target file system image using bitbake:
+
+ $ bitbake core-image-minimal
+
+After completing the images for the target machine will be available in the output
+directory 'tmp/deploy/images/<supported board name>'.
+
+Images generated:
+ * Image (generic Linux Kernel binary image file)
+ * Image-<machine name>.dtb (DTB for target machine)
+ * core-image-minimal-<machine name>.tar.bz2 (rootfs tar+bzip2)
+ * core-image-minimal-<machine name>.ext4 (rootfs ext4 format)
+ * core-image-minimal-<machine name>.cpio.gz (rootfs cpio+gz format)
+
+Build Instructions for SDK
+==========================
+This may be changed in the near feature. These instructions are tentative.
+
+Should define the staticdev in SDK image feature for installing the static libs
+to SDK in local.conf.
+
+ SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+Use bitbake -c populate_sdk for generating the toolchain SDK:
+For 64-bit target SDK (aarch64):
+
+ $ bitbake core-image-minimal -c populate_sdk
+
+The SDK can be found in the output directory 'tmp/deploy/sdk'
+ * poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh
+
+Usage of toolchain SDK:
+Install the SDK to the default: /opt/poky/x.x
+For 64-bit target SDK:
+
+ $ sh poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh
+
+For 64-bit application use environment script in /opt/poky/x.x
+
+ $ source /opt/poky/x.x/environment-setup-aarch64-poky-linux
+
+ULCB Information
+================
+Refer to the following for more information of ULCB:
+
+ http://elinux.org/R-Car
diff --git a/meta-rcar-gen3/README.proprietary b/meta-rcar-gen3/README.proprietary
new file mode 100644
index 0000000..72f916c
--- /dev/null
+++ b/meta-rcar-gen3/README.proprietary
@@ -0,0 +1,133 @@
+Proprietary libraries for meta-rcar-gen3
+========================================
+
+The meta-rcar-gen3 layer of meta-renesas is supported Graphic GLES(GSX) libraries,
+proprietary library of multimedia, and ICCOM software.
+This README describes how to use these features and setting to local.conf.
+
+There are 2 main paths:
+ I/ Board configuration
+ II/ Build with GLES
+ III/ Build with Renesas multimedia libraries
+
+Please check section II to config for GLES.
+Please check section III to enable Multimedia functions.
+
+If you would like to use Linux ICCOM driver and Linux ICCOM library,
+please check section IV.
+
+However, to have a completed local.conf,
+please also refer to Build Instruction in meta-renesas/meta-rcar-gen3/README.
+
+In addition, these libraries are not provided with recipes. If you would like to use,
+you will need to get them from Renesas.
+
+I/ Board configuration
+==================
+* Add this line to local.conf
+ For Salvator-X board
+ MACHINE = "salvator-x"
+ For R-Car Starter Kit Premier(H3ULCB) board
+ MACHINE = "h3ulcb"
+ For R-Car Starter Kit Pro(M3ULCB) board
+ MACHINE = "m3ulcb"
+
+* Set SOC family name:
+ For H3: r8a7795
+ SOC_FAMILY = "r8a7795"
+ For M3: r8a7796
+ SOC_FAMILY = "r8a7796"
+
+II/ Build with GLES
+==================
+ * For wayland with GSX
+
+ 1. Please copy proprietary libraries to the directory of recipes.
+ 2. Set local.conf the following.
+
+ # Enable Gfx Pkgs
+ MACHINE_FEATURES_append = " gsx"
+ MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+ # for Wayland/Weston
+ DISTRO_FEATURES_append = " pam"
+ PREFERRED_PROVIDER_virtual/libgles1 = ""
+ PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+ PREFERRED_PROVIDER_virtual/egl = "libegl"
+ PREFERRED_PROVIDER_virtual/libgl = ""
+ PREFERRED_PROVIDER_virtual/mesa = ""
+ PREFERRED_PROVIDER_libgbm = "libgbm"
+ PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+ BBMASK = "mesa-gl"
+
+ 3. Run 'bitbake core-image-weston'
+
+III/ Build with Renesas multimedia libraries
+============================================
+ Multimedia portions depend on GLES portions.
+
+ A/ Configuration for Multimedia features
+ 1. Please copy proprietary libraries to the directory of recipes.
+ 2. Please set local.conf the following.
+
+ # Enable multimedia features.
+ # This provides package group of plug-ins of the GStreamer, multimedia
+ # libraries and kernel drivers.
+
+ MACHINE_FEATURES_append = " multimedia"
+
+ B/ Configuration for optional codecs and middleware
+ 1. Please copy proprietary libraries to the directory of recipes.
+ 2. Add features to DISTRO_FEATURES_append to local.conf
+ # Additional configuration in OMX module
+ " h263dec_lib" - for OMX Media Component H263 Decoder Library
+ " h264dec_lib" - for OMX Media Component H264 Decoder Library
+ " h264enc_lib" - for OMX Media Component H.264 Encoder Library
+ " h265dec_lib" - for OMX Media Component H265 Decoder Library
+ " mpeg2dec_lib" - for OMX Media Component MPEG2 Decoder Library
+ " mpeg4dec_lib" - for OMX Media Component MPEG4 Decoder Library
+ " vc1dec_lib" - for OMX Media Component VC-1 Decoder Library
+ " divxdec_lib" - for OMX Media Component DivX Decoder Library
+ " rvdec_lib" - for OMX Media Component RealVideo Decoder Library
+ " alacdec_lib" - for OMX Media Component ALAC Decoder Library
+ " flacdec_lib" - for OMX Media Component FLAC Decoder Library
+ " aaclcdec_lib" - for OMX Media Component AAC-LC Decoder Library
+ " aaclcdec_mdw" - for AAC-LC 2ch Decoder Middleware for Linux
+ " aacpv2dec_lib" - for OMX Media Component aacPlus V2 Decoder Library
+ " aacpv2dec_mdw" - for aacPlus V2 Decoder Middleware for Linux
+ " mp3dec_lib" - for OMX Media Component MP3 Decoder Library
+ " mp3dec_mdw" - for MP3 Decoder Middleware for Linux
+ " wmadec_lib" - for OMX Media Component WMA Standard Decoder Library
+ " wmadec_mdw" - for WMA Standard Decoder Middleware for Linux
+ " dddec_lib" - for OMX Media Component Dolby(R) Digital Decoder Library
+ " dddec_mdw" - for Dolby(R) Digital Decoder Middleware for Linux
+ " aaclcenc_lib" - for OMX Media Component AAC-LC Encoder Library
+ " aaclcenc_mdw" - for AAC-LC Encoder Middleware for Linux
+ " cmsbcm" - for CMS Basic Color Management Middleware for Linux
+ " cmsblc" - for CMS CMM3 Backlight Control Middleware for Linux
+ " cmsdgc" - for CMS VSP2 Dynamic Gamma Correction Middleware for Linux
+ " dtv" - for ISDB-T DTV Software Package for Linux
+ " dvd" - for DVD Core-Middleware for Linux
+ " adsp" - for ADSP driver, ADSP interface and ADSP framework for Linux
+ " avb" - for AVB Software Package for Linux
+
+ Ex:
+ DISTRO_FEATURES_append = " h264dec_lib h265dec_lib mpeg2dec_lib aaclcdec_lib aaclcdec_mdw"
+
+ C/ Configuration for test packages
+ Must ensure that Multimedia features have been enabled.
+ (Please refer to III/A to enable Multimedia.)
+ Please add feature to DISTRO_FEATURES_append to local.conf.
+ # Configuration for multimedia test package
+
+ DISTRO_FEATURES_append = " mm-test"
+
+IV/ Enable Linux ICCOM driver and Linux ICCOM library
+=====================================================
+ For Linux ICCOM driver and Linux ICCOM library
+
+ 1. Please copy proprietary libraries to the directory of recipes.
+ 2. Please set local.conf the following.
+
+ DISTRO_FEATURES_append = " iccom"
+END.
diff --git a/meta-rcar-gen3/conf/layer.conf b/meta-rcar-gen3/conf/layer.conf
new file mode 100644
index 0000000..7c09bc3
--- /dev/null
+++ b/meta-rcar-gen3/conf/layer.conf
@@ -0,0 +1,10 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "rcar-gen3"
+BBFILE_PATTERN_rcar-gen3 = "^${LAYERDIR}/"
+BBFILE_PRIORITY_rcar-gen3 = "6"
diff --git a/meta-rcar-gen3/conf/machine/h3ulcb.conf b/meta-rcar-gen3/conf/machine/h3ulcb.conf
new file mode 100644
index 0000000..8585364
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/h3ulcb.conf
@@ -0,0 +1,48 @@
+#@TYPE: Machine
+#@NAME: H3ULCB machine
+#@DESCRIPTION: Machine configuration for running H3ULCB
+
+SOC_FAMILY = "r8a7795"
+
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+require conf/machine/include/tune-cortexa57-cortexa53.inc
+require conf/machine/include/${SOC_FAMILY}.inc
+
+# 32BIT package install (default is disable)
+# This variables can be used only in multilib.
+USE_32BIT_PKGS ?= "0"
+USE_32BIT_WAYLAND ?= "0"
+USE_32BIT_MMP ?= "0"
+
+MACHINE_FEATURES = ""
+
+KERNEL_IMAGETYPE = "Image"
+
+# only if not already defined by distro or user!
+IMAGE_FSTYPES ?= " tar.bz2 ext4 cpio.gz"
+
+SERIAL_CONSOLE = "115200 ttySC0"
+
+# Configuration for kernel
+PREFERRED_PROVIDER_virtual/kernel = "linux-renesas"
+KERNEL_DEVICETREE = " \
+ renesas/r8a7795-h3ulcb.dtb \
+ renesas/r8a7795-es1-h3ulcb.dtb \
+"
+
+# Configuration for ARM Trusted Firmware
+EXTRA_IMAGEDEPENDS += " arm-trusted-firmware optee-os"
+
+# u-boot
+PREFERRED_VERSION_u-boot = "v2015.04%"
+EXTRA_IMAGEDEPENDS += " u-boot"
+UBOOT_MACHINE = "h3ulcb_defconfig"
+
+# libdrm + mesa
+PREFERRED_VERSION_libdrm = "2.4.68"
+PREFERRED_VERSION_mesa = "17.%"
+
+# Add variable to Build Configuration in build log
+BUILDCFG_VARS_append = " SOC_FAMILY"
+
+MACHINEOVERRIDES .= ":ulcb"
diff --git a/meta-rcar-gen3/conf/machine/include/r8a7795.inc b/meta-rcar-gen3/conf/machine/include/r8a7795.inc
new file mode 100644
index 0000000..e2cc4ac
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/include/r8a7795.inc
@@ -0,0 +1,3 @@
+SOC_FAMILY =. "rcar-gen3:"
+require conf/machine/include/soc-family.inc
+LINUXLIBCVERSION = "4.9"
diff --git a/meta-rcar-gen3/conf/machine/include/r8a7796.inc b/meta-rcar-gen3/conf/machine/include/r8a7796.inc
new file mode 100644
index 0000000..e2cc4ac
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/include/r8a7796.inc
@@ -0,0 +1,3 @@
+SOC_FAMILY =. "rcar-gen3:"
+require conf/machine/include/soc-family.inc
+LINUXLIBCVERSION = "4.9"
diff --git a/meta-rcar-gen3/conf/machine/include/tune-cortexa57-cortexa53.inc b/meta-rcar-gen3/conf/machine/include/tune-cortexa57-cortexa53.inc
new file mode 100644
index 0000000..17f1f25
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/include/tune-cortexa57-cortexa53.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+require conf/machine/include/arm/arch-armv8.inc
+
+TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations"
+TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", " -march=armv8-a", "" ,d)}"
+
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "" ,d)}"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mtune=cortex-a57.cortex-a53", "", d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa57-cortexa53"
+ARMPKGARCH_tune-cortexa57-cortexa53 = "cortexa57-cortexa53"
+TUNE_FEATURES_tune-cortexa57-cortexa53 = "${TUNE_FEATURES_tune-aarch64} cortexa57-cortexa53"
+PACKAGE_EXTRA_ARCHS_tune-cortexa57-cortexa53 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa57-cortexa53"
+BASE_LIB_tune-cortexa57-cortexa53 = "lib64"
diff --git a/meta-rcar-gen3/conf/machine/include/tune-cortexa57.inc b/meta-rcar-gen3/conf/machine/include/tune-cortexa57.inc
new file mode 100644
index 0000000..509aee4
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/include/tune-cortexa57.inc
@@ -0,0 +1,18 @@
+DEFAULTTUNE ?= "cortexa57"
+require conf/machine/include/arm/arch-armv8.inc
+
+TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations"
+TUNECONFLICTS[aarch64] = "armv4 armv5 armv6 armv7 armv7a"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", " -march=armv8-a", "" ,d)}"
+
+MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57", "cortexa57:", "" ,d)}"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57", " -mtune=cortex-a57", "", d)}"
+
+# Little Endian base configs
+AVAILTUNES += "cortexa57"
+ARMPKGARCH_tune-cortexa57 = "cortexa57"
+TUNE_FEATURES_tune-cortexa57 = "${TUNE_FEATURES_tune-aarch64} cortexa57"
+PACKAGE_EXTRA_ARCHS_tune-cortexa57 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa57"
+BASE_LIB_tune-cortexa57 = "lib64"
diff --git a/meta-rcar-gen3/conf/machine/m3ulcb.conf b/meta-rcar-gen3/conf/machine/m3ulcb.conf
new file mode 100644
index 0000000..0d792c6
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/m3ulcb.conf
@@ -0,0 +1,45 @@
+#@TYPE: Machine
+#@NAME: M3ULCB machine
+#@DESCRIPTION: Machine configuration for running M3ULCB
+
+SOC_FAMILY = "r8a7796"
+
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+require conf/machine/include/tune-cortexa57-cortexa53.inc
+require conf/machine/include/${SOC_FAMILY}.inc
+
+# 32BIT package install (default is disable)
+# This variables can be used only in multilib.
+USE_32BIT_PKGS ?= "0"
+USE_32BIT_WAYLAND ?= "0"
+USE_32BIT_MMP ?= "0"
+
+MACHINE_FEATURES = ""
+
+KERNEL_IMAGETYPE = "Image"
+
+# only if not already defined by distro or user!
+IMAGE_FSTYPES ?= " tar.bz2 ext4 cpio.gz"
+
+SERIAL_CONSOLE = "115200 ttySC0"
+
+# Configuration for kernel
+PREFERRED_PROVIDER_virtual/kernel = "linux-renesas"
+KERNEL_DEVICETREE = "renesas/r8a7796-m3ulcb.dtb"
+
+# Configuration for ARM Trusted Firmware
+EXTRA_IMAGEDEPENDS += " arm-trusted-firmware optee-os"
+
+# u-boot
+PREFERRED_VERSION_u-boot = "v2015.04%"
+EXTRA_IMAGEDEPENDS += " u-boot"
+UBOOT_MACHINE = "m3ulcb_defconfig"
+
+# libdrm + mesa
+PREFERRED_VERSION_libdrm = "2.4.68"
+PREFERRED_VERSION_mesa = "17.%"
+
+# Add variable to Build Configuration in build log
+BUILDCFG_VARS_append = " SOC_FAMILY"
+
+MACHINEOVERRIDES .= ":ulcb"
diff --git a/meta-rcar-gen3/conf/machine/salvator-x.conf b/meta-rcar-gen3/conf/machine/salvator-x.conf
new file mode 100644
index 0000000..65212d7
--- /dev/null
+++ b/meta-rcar-gen3/conf/machine/salvator-x.conf
@@ -0,0 +1,54 @@
+#@TYPE: Machine
+#@NAME: Salvator-X machine
+#@DESCRIPTION: Machine configuration for running Salvator-X
+
+DEFAULTTUNE ?= "cortexa57-cortexa53"
+require conf/machine/include/tune-cortexa57-cortexa53.inc
+require conf/machine/include/${SOC_FAMILY}.inc
+
+# 32BIT package install (default is disable)
+# This variables can be used only in multilib.
+USE_32BIT_PKGS ?= "0"
+USE_32BIT_WAYLAND ?= "0"
+USE_32BIT_MMP ?= "0"
+
+MACHINE_FEATURES = ""
+
+KERNEL_IMAGETYPE = "Image"
+
+# only if not already defined by distro or user!
+IMAGE_FSTYPES ?= " tar.bz2 ext4 cpio.gz"
+
+SERIAL_CONSOLE = "115200 ttySC0"
+
+# Configuration for kernel
+PREFERRED_PROVIDER_virtual/kernel = "linux-renesas"
+# Device tree for H3
+KERNEL_DEVICETREE_r8a7795 = " \
+ renesas/r8a7795-es1-salvator-x.dtb \
+ renesas/r8a7795-salvator-x.dtb \
+ renesas/r8a7795-salvator-xs.dtb \
+"
+# Device tree for M3
+KERNEL_DEVICETREE_r8a7796 = " \
+ renesas/r8a7796-salvator-x.dtb \
+ renesas/r8a7796-salvator-xs.dtb \
+"
+
+# Configuration for ARM Trusted Firmware
+EXTRA_IMAGEDEPENDS += " arm-trusted-firmware optee-os"
+
+# u-boot
+PREFERRED_VERSION_u-boot = "v2015.04%"
+EXTRA_IMAGEDEPENDS += " u-boot"
+# H3 u-boot configure
+UBOOT_MACHINE_r8a7795 = "r8a7795_salvator-x_defconfig"
+# M3 u-boot configure
+UBOOT_MACHINE_r8a7796 = "r8a7796_salvator-x_defconfig"
+
+# libdrm + mesa
+PREFERRED_VERSION_libdrm = "2.4.68"
+PREFERRED_VERSION_mesa = "17.%"
+
+# Add variable to Build Configuration in build log
+BUILDCFG_VARS_append = " SOC_FAMILY"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..4359d56
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local-wayland.conf
@@ -0,0 +1,269 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask the wayland related to GFX
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local.conf
new file mode 100644
index 0000000..eb2f034
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/bsp/local.conf
@@ -0,0 +1,260 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf
new file mode 100644
index 0000000..8b8b5ca
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/gfx-only/local-wayland.conf
@@ -0,0 +1,281 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Fix the Warning of gstreamer plugins
+RDEPENDS_gstreamer1.0-plugins-bad = "libwayland-egl"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf
new file mode 100644
index 0000000..6825b60
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/linaro-gcc/mmp/local-wayland.conf
@@ -0,0 +1,373 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+
+# Enable Multimedia features
+MACHINE_FEATURES_append = " multimedia"
+
+# for gstreamer omx plugins
+LICENSE_FLAGS_WHITELIST = "commercial"
+# for mmp test program
+DISTRO_FEATURES_append = " mm-test"
+
+# for weston v4l2 renderer
+#DISTRO_FEATURES_append = " v4l2-renderer"
+
+# OMX H263 decoder library for Linux (RTM0AC0000XV263D30SL40C)
+#DISTRO_FEATURES_append = " h263dec_lib"
+
+# OMX H264 decoder library for Linux (RTM0AC0000XV264D30SL40C)
+DISTRO_FEATURES_append = " h264dec_lib"
+
+# OMX H264 encoder library for Linux (RTM0AC0000XV264E30SL40C)
+#DISTRO_FEATURES_append = " h264enc_lib"
+
+# OMX H265 decoder library for Linux (RTM0AC0000XV265D30SL40C)
+#DISTRO_FEATURES_append = " h265dec_lib"
+
+# OMX MPEG2 decoder library for Linux (RTM0AC0000XVM2VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg2dec_lib"
+
+# OMX Media Component MPEG4 Decoder Library for Linux (RTM0AC0000XVM4VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg4dec_lib"
+
+# OMX Media Component VC-1 Decoder Library for Linux (RTM0AC0000XVVC1D30SL40C)
+#DISTRO_FEATURES_append = " vc1dec_lib"
+
+# OMX Media Component DivXD Decoder Library for Linux (RTM0AC0000XVDVXD30SL40C)
+#DISTRO_FEATURES_append = " divxdec_lib"
+
+# OMX Media Component RealVideo Decoder Library for Linux (RTM0AC0000XVRLVD30SL40C)
+#DISTRO_FEATURES_append = " rvdec_lib"
+
+# OMX Media Component ALAC Decoder Library for Linux (RTM0AC0000XAALAD30SL40C)
+#DISTRO_FEATURES_append = " alacdec_lib"
+
+# OMX Media Component FLAC Decoder Library for Linux (RTM0AC0000XAFLAD30SL40C)
+#DISTRO_FEATURES_append = " flacdec_lib"
+
+# OMX AAC-LC decoder library for Linux (RTM0AC0000XAAACD30SL40C),
+# AAC-LC 2ch decoder middleware library for Linux (RTM0AC0000ADAACMZ1SL40C)
+DISTRO_FEATURES_append = " aaclcdec_lib"
+DISTRO_FEATURES_append = " aaclcdec_mdw"
+
+# OMX aacPlus V2 decoder library for Linux (RTM0AC0000XAAAPD30SL40C),
+# aacPlus V2 decoder middleware library for Linux (RTM0AC0000ADAAPMZ1SL40C)
+#DISTRO_FEATURES_append = " aacpv2dec_lib"
+#DISTRO_FEATURES_append = " aacpv2dec_mdw"
+
+# OMX MP3 decoder library for Linux (RTM0AC0000XAMP3D30SL40C),
+# MP3 decoder middleware library for Linux (RTM0AC0000ADMP3MZ1SL40C)
+#DISTRO_FEATURES_append = " mp3dec_lib"
+#DISTRO_FEATURES_append = " mp3dec_mdw"
+
+# OMX WMA decoder library for Linux (RTM0AC0000XAWMAD30SL40C),
+# WMA decoder middleware library for Linux (RTM0AC0000ADWMAMZ1SL40C)
+#DISTRO_FEATURES_append = " wmadec_lib"
+#DISTRO_FEATURES_append = " wmadec_mdw"
+
+# OMX AAC-LC encoder library for Linux (RTM0AC0000XAAACE30SL40C)
+# AAC-LC encoder middleware library for Linux (RTM0AC0000AEAACMZ1SL40C)
+#DISTRO_FEATURES_append = " aaclcenc_lib"
+#DISTRO_FEATURES_append = " aaclcenc_mdw"
+
+# OMX Dolby(R) Digital decoder library for Linux (RTM0AC0000XADD5D30SL40C),
+# Dolby(R) Digital decoder middleware library for Linux (RTM0AC0000ADDD5MZ1SL40C)
+#DISTRO_FEATURES_append = " dddec_lib"
+#DISTRO_FEATURES_append = " dddec_mdw"
+
+# CMS Basic Color Management Middleware for Linux (RTM0AC0000JRCMBCV0SL40C)
+#DISTRO_FEATURES_append = " cmsbcm"
+
+# CMS CMM3 Backlight Control Middleware for Linux (RTM0AC0000JRCMBLC0SL40C)
+#DISTRO_FEATURES_append = " cmsblc"
+
+# CMS VSP2 Dynamic Gamma Correction Middleware for Linux (RTM0AC0000JRCMDGV0SL40C)
+#DISTRO_FEATURES_append = " cmsdgc"
+
+# ISDB-T DTV Software Package for Linux (RTM0RC0000TE020000SL40C)
+#DISTRO_FEATURES_append = " dtv"
+
+# DVD Core-Middleware for Linux (RTM0RC0000XDVDC301SL40C)
+#DISTRO_FEATURES_append = " dvd"
+
+# ADSP Driver for Linux (RCG3AHPDL4001ZDO)
+# ADSP Interface for Linux (RCG3AHIFL4001ZDP)
+# ADSP Framework (RCG3AHFWN0101ZDP)
+#DISTRO_FEATURES_append = " adsp"
+
+# AVB Software Package for Linux
+#DISTRO_FEATURES_append = " avb"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
+
+# Evaluation packages
+#DISTRO_FEATURES_append = " use_eva_pkg"
+
+# Configuration for ivi-shell and ivi-extension
+#DISTRO_FEATURES_append = " ivi-shell"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..3b2c068
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/bblayers.conf
@@ -0,0 +1,15 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..15623f5
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local-wayland.conf
@@ -0,0 +1,262 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask the wayland related to GFX
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
diff --git a/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local.conf
new file mode 100644
index 0000000..cf312b3
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/h3ulcb/poky-gcc/bsp/local.conf
@@ -0,0 +1,253 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "h3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..9854c3f
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local-wayland.conf
@@ -0,0 +1,269 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask the wayland related to GFX
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local.conf
new file mode 100644
index 0000000..0f6106e
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/bsp/local.conf
@@ -0,0 +1,260 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf
new file mode 100644
index 0000000..e46c769
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/gfx-only/local-wayland.conf
@@ -0,0 +1,281 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Fix the Warning of gstreamer plugins
+RDEPENDS_gstreamer1.0-plugins-bad = "libwayland-egl"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf
new file mode 100644
index 0000000..9e039bd
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/linaro-gcc/mmp/local-wayland.conf
@@ -0,0 +1,373 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+
+# Enable Multimedia features
+MACHINE_FEATURES_append = " multimedia"
+
+# for gstreamer omx plugins
+LICENSE_FLAGS_WHITELIST = "commercial"
+# for mmp test program
+DISTRO_FEATURES_append = " mm-test"
+
+# for weston v4l2 renderer
+#DISTRO_FEATURES_append = " v4l2-renderer"
+
+# OMX H263 decoder library for Linux (RTM0AC0000XV263D30SL40C)
+#DISTRO_FEATURES_append = " h263dec_lib"
+
+# OMX H264 decoder library for Linux (RTM0AC0000XV264D30SL40C)
+DISTRO_FEATURES_append = " h264dec_lib"
+
+# OMX H264 encoder library for Linux (RTM0AC0000XV264E30SL40C)
+#DISTRO_FEATURES_append = " h264enc_lib"
+
+# OMX H265 decoder library for Linux (RTM0AC0000XV265D30SL40C)
+#DISTRO_FEATURES_append = " h265dec_lib"
+
+# OMX MPEG2 decoder library for Linux (RTM0AC0000XVM2VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg2dec_lib"
+
+# OMX Media Component MPEG4 Decoder Library for Linux (RTM0AC0000XVM4VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg4dec_lib"
+
+# OMX Media Component VC-1 Decoder Library for Linux (RTM0AC0000XVVC1D30SL40C)
+#DISTRO_FEATURES_append = " vc1dec_lib"
+
+# OMX Media Component DivXD Decoder Library for Linux (RTM0AC0000XVDVXD30SL40C)
+#DISTRO_FEATURES_append = " divxdec_lib"
+
+# OMX Media Component RealVideo Decoder Library for Linux (RTM0AC0000XVRLVD30SL40C)
+#DISTRO_FEATURES_append = " rvdec_lib"
+
+# OMX Media Component ALAC Decoder Library for Linux (RTM0AC0000XAALAD30SL40C)
+#DISTRO_FEATURES_append = " alacdec_lib"
+
+# OMX Media Component FLAC Decoder Library for Linux (RTM0AC0000XAFLAD30SL40C)
+#DISTRO_FEATURES_append = " flacdec_lib"
+
+# OMX AAC-LC decoder library for Linux (RTM0AC0000XAAACD30SL40C),
+# AAC-LC 2ch decoder middleware library for Linux (RTM0AC0000ADAACMZ1SL40C)
+DISTRO_FEATURES_append = " aaclcdec_lib"
+DISTRO_FEATURES_append = " aaclcdec_mdw"
+
+# OMX aacPlus V2 decoder library for Linux (RTM0AC0000XAAAPD30SL40C),
+# aacPlus V2 decoder middleware library for Linux (RTM0AC0000ADAAPMZ1SL40C)
+#DISTRO_FEATURES_append = " aacpv2dec_lib"
+#DISTRO_FEATURES_append = " aacpv2dec_mdw"
+
+# OMX MP3 decoder library for Linux (RTM0AC0000XAMP3D30SL40C),
+# MP3 decoder middleware library for Linux (RTM0AC0000ADMP3MZ1SL40C)
+#DISTRO_FEATURES_append = " mp3dec_lib"
+#DISTRO_FEATURES_append = " mp3dec_mdw"
+
+# OMX WMA decoder library for Linux (RTM0AC0000XAWMAD30SL40C),
+# WMA decoder middleware library for Linux (RTM0AC0000ADWMAMZ1SL40C)
+#DISTRO_FEATURES_append = " wmadec_lib"
+#DISTRO_FEATURES_append = " wmadec_mdw"
+
+# OMX AAC-LC encoder library for Linux (RTM0AC0000XAAACE30SL40C)
+# AAC-LC encoder middleware library for Linux (RTM0AC0000AEAACMZ1SL40C)
+#DISTRO_FEATURES_append = " aaclcenc_lib"
+#DISTRO_FEATURES_append = " aaclcenc_mdw"
+
+# OMX Dolby(R) Digital decoder library for Linux (RTM0AC0000XADD5D30SL40C),
+# Dolby(R) Digital decoder middleware library for Linux (RTM0AC0000ADDD5MZ1SL40C)
+#DISTRO_FEATURES_append = " dddec_lib"
+#DISTRO_FEATURES_append = " dddec_mdw"
+
+# CMS Basic Color Management Middleware for Linux (RTM0AC0000JRCMBCV0SL40C)
+#DISTRO_FEATURES_append = " cmsbcm"
+
+# CMS CMM3 Backlight Control Middleware for Linux (RTM0AC0000JRCMBLC0SL40C)
+#DISTRO_FEATURES_append = " cmsblc"
+
+# CMS VSP2 Dynamic Gamma Correction Middleware for Linux (RTM0AC0000JRCMDGV0SL40C)
+#DISTRO_FEATURES_append = " cmsdgc"
+
+# ISDB-T DTV Software Package for Linux (RTM0RC0000TE020000SL40C)
+#DISTRO_FEATURES_append = " dtv"
+
+# DVD Core-Middleware for Linux (RTM0RC0000XDVDC301SL40C)
+#DISTRO_FEATURES_append = " dvd"
+
+# ADSP Driver for Linux (RCG3AHPDL4001ZDO)
+# ADSP Interface for Linux (RCG3AHIFL4001ZDP)
+# ADSP Framework (RCG3AHFWN0101ZDP)
+#DISTRO_FEATURES_append = " adsp"
+
+# AVB Software Package for Linux
+#DISTRO_FEATURES_append = " avb"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
+
+# Evaluation packages
+#DISTRO_FEATURES_append = " use_eva_pkg"
+
+# Configuration for ivi-shell and ivi-extension
+#DISTRO_FEATURES_append = " ivi-shell"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..3b2c068
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/bblayers.conf
@@ -0,0 +1,15 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..1944e76
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local-wayland.conf
@@ -0,0 +1,262 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
diff --git a/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local.conf
new file mode 100644
index 0000000..f067c3e
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/m3ulcb/poky-gcc/bsp/local.conf
@@ -0,0 +1,253 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "m3ulcb"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..af4d33c
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local-wayland.conf
@@ -0,0 +1,274 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask the wayland related to GFX
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local.conf
new file mode 100644
index 0000000..0350e50
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/bsp/local.conf
@@ -0,0 +1,265 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf
new file mode 100644
index 0000000..9968d18
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/gfx-only/local-wayland.conf
@@ -0,0 +1,286 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
+
+# Fix the Warning of gstreamer plugins
+RDEPENDS_gstreamer1.0-plugins-bad = "libwayland-egl"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/bblayers.conf
new file mode 100644
index 0000000..96ff8ad
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/bblayers.conf
@@ -0,0 +1,16 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-linaro/meta-linaro-toolchain \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf
new file mode 100644
index 0000000..7a9817d
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/linaro-gcc/mmp/local-wayland.conf
@@ -0,0 +1,378 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# Linaro GCC
+GCCVERSION = "linaro-5.3"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Enable Gfx Pkgs
+MACHINE_FEATURES_append = " gsx"
+MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+
+# for Wayland/Weston
+DISTRO_FEATURES_append = " pam"
+PREFERRED_PROVIDER_virtual/libgles1 = ""
+PREFERRED_PROVIDER_virtual/libgles2 = "gles-user-module"
+PREFERRED_PROVIDER_virtual/egl = "libegl"
+PREFERRED_PROVIDER_virtual/libgl = ""
+PREFERRED_PROVIDER_virtual/mesa = ""
+PREFERRED_PROVIDER_libgbm = "libgbm"
+PREFERRED_PROVIDER_libgbm-dev = "libgbm"
+BBMASK .= "|mesa-gl"
+
+# Enable Multimedia features
+MACHINE_FEATURES_append = " multimedia"
+
+# for gstreamer omx plugins
+LICENSE_FLAGS_WHITELIST = "commercial"
+# for mmp test program
+DISTRO_FEATURES_append = " mm-test"
+
+# for weston v4l2 renderer
+#DISTRO_FEATURES_append = " v4l2-renderer"
+
+# OMX H263 decoder library for Linux (RTM0AC0000XV263D30SL40C)
+#DISTRO_FEATURES_append = " h263dec_lib"
+
+# OMX H264 decoder library for Linux (RTM0AC0000XV264D30SL40C)
+DISTRO_FEATURES_append = " h264dec_lib"
+
+# OMX H264 encoder library for Linux (RTM0AC0000XV264E30SL40C)
+#DISTRO_FEATURES_append = " h264enc_lib"
+
+# OMX H265 decoder library for Linux (RTM0AC0000XV265D30SL40C)
+#DISTRO_FEATURES_append = " h265dec_lib"
+
+# OMX MPEG2 decoder library for Linux (RTM0AC0000XVM2VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg2dec_lib"
+
+# OMX Media Component MPEG4 Decoder Library for Linux (RTM0AC0000XVM4VD30SL40C)
+#DISTRO_FEATURES_append = " mpeg4dec_lib"
+
+# OMX Media Component VC-1 Decoder Library for Linux (RTM0AC0000XVVC1D30SL40C)
+#DISTRO_FEATURES_append = " vc1dec_lib"
+
+# OMX Media Component DivXD Decoder Library for Linux (RTM0AC0000XVDVXD30SL40C)
+#DISTRO_FEATURES_append = " divxdec_lib"
+
+# OMX Media Component RealVideo Decoder Library for Linux (RTM0AC0000XVRLVD30SL40C)
+#DISTRO_FEATURES_append = " rvdec_lib"
+
+# OMX Media Component ALAC Decoder Library for Linux (RTM0AC0000XAALAD30SL40C)
+#DISTRO_FEATURES_append = " alacdec_lib"
+
+# OMX Media Component FLAC Decoder Library for Linux (RTM0AC0000XAFLAD30SL40C)
+#DISTRO_FEATURES_append = " flacdec_lib"
+
+# OMX AAC-LC decoder library for Linux (RTM0AC0000XAAACD30SL40C),
+# AAC-LC 2ch decoder middleware library for Linux (RTM0AC0000ADAACMZ1SL40C)
+DISTRO_FEATURES_append = " aaclcdec_lib"
+DISTRO_FEATURES_append = " aaclcdec_mdw"
+
+# OMX aacPlus V2 decoder library for Linux (RTM0AC0000XAAAPD30SL40C),
+# aacPlus V2 decoder middleware library for Linux (RTM0AC0000ADAAPMZ1SL40C)
+#DISTRO_FEATURES_append = " aacpv2dec_lib"
+#DISTRO_FEATURES_append = " aacpv2dec_mdw"
+
+# OMX MP3 decoder library for Linux (RTM0AC0000XAMP3D30SL40C),
+# MP3 decoder middleware library for Linux (RTM0AC0000ADMP3MZ1SL40C)
+#DISTRO_FEATURES_append = " mp3dec_lib"
+#DISTRO_FEATURES_append = " mp3dec_mdw"
+
+# OMX WMA decoder library for Linux (RTM0AC0000XAWMAD30SL40C),
+# WMA decoder middleware library for Linux (RTM0AC0000ADWMAMZ1SL40C)
+#DISTRO_FEATURES_append = " wmadec_lib"
+#DISTRO_FEATURES_append = " wmadec_mdw"
+
+# OMX AAC-LC encoder library for Linux (RTM0AC0000XAAACE30SL40C)
+# AAC-LC encoder middleware library for Linux (RTM0AC0000AEAACMZ1SL40C)
+#DISTRO_FEATURES_append = " aaclcenc_lib"
+#DISTRO_FEATURES_append = " aaclcenc_mdw"
+
+# OMX Dolby(R) Digital decoder library for Linux (RTM0AC0000XADD5D30SL40C),
+# Dolby(R) Digital decoder middleware library for Linux (RTM0AC0000ADDD5MZ1SL40C)
+#DISTRO_FEATURES_append = " dddec_lib"
+#DISTRO_FEATURES_append = " dddec_mdw"
+
+# CMS Basic Color Management Middleware for Linux (RTM0AC0000JRCMBCV0SL40C)
+#DISTRO_FEATURES_append = " cmsbcm"
+
+# CMS CMM3 Backlight Control Middleware for Linux (RTM0AC0000JRCMBLC0SL40C)
+#DISTRO_FEATURES_append = " cmsblc"
+
+# CMS VSP2 Dynamic Gamma Correction Middleware for Linux (RTM0AC0000JRCMDGV0SL40C)
+#DISTRO_FEATURES_append = " cmsdgc"
+
+# ISDB-T DTV Software Package for Linux (RTM0RC0000TE020000SL40C)
+#DISTRO_FEATURES_append = " dtv"
+
+# DVD Core-Middleware for Linux (RTM0RC0000XDVDC301SL40C)
+#DISTRO_FEATURES_append = " dvd"
+
+# ADSP Driver for Linux (RCG3AHPDL4001ZDO)
+# ADSP Interface for Linux (RCG3AHIFL4001ZDP)
+# ADSP Framework (RCG3AHFWN0101ZDP)
+#DISTRO_FEATURES_append = " adsp"
+
+# AVB Software Package for Linux
+#DISTRO_FEATURES_append = " avb"
+
+# Linux ICCOM driver (RCG3ZLIDL4001ZNO)
+# Linux ICCOM library (RCG3ZLILL4001ZNO)
+#DISTRO_FEATURES_append = " iccom"
+
+# Evaluation packages
+#DISTRO_FEATURES_append = " use_eva_pkg"
+
+# Configuration for ivi-shell and ivi-extension
+#DISTRO_FEATURES_append = " ivi-shell"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/bblayers.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/bblayers.conf
new file mode 100644
index 0000000..3b2c068
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/bblayers.conf
@@ -0,0 +1,15 @@
+# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
+# changes incompatibly
+POKY_BBLAYERS_CONF_VERSION = "2"
+
+BBPATH = "${TOPDIR}"
+BBFILES ?= ""
+
+BBLAYERS ?= " \
+ ${TOPDIR}/../poky/meta \
+ ${TOPDIR}/../poky/meta-poky \
+ ${TOPDIR}/../poky/meta-yocto-bsp \
+ ${TOPDIR}/../meta-renesas/meta-rcar-gen3 \
+ ${TOPDIR}/../meta-openembedded/meta-oe \
+ ${TOPDIR}/../meta-linaro/meta-optee \
+ "
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local-wayland.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local-wayland.conf
new file mode 100644
index 0000000..1520bdb
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local-wayland.conf
@@ -0,0 +1,267 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# for Wayland/Weston weston-laucher
+DISTRO_FEATURES_append = " pam"
+
+# Mask the wayland related to GFX
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
+
+# Mask the gstreamer recipe for MMP
+BBMASK .= "|meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer"
+
+# Add for gstreamer plugins ugly
+LICENSE_FLAGS_WHITELIST = "commercial"
diff --git a/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local.conf b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local.conf
new file mode 100644
index 0000000..61f5096
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/local.conf
@@ -0,0 +1,258 @@
+#
+# This file is your local configuration file and is where all local user settings
+# are placed. The comments in this file give some guide to the options a new user
+# to the system might want to change but pretty much any configuration option can
+# be set in this file. More adventurous users can look at local.conf.extended
+# which contains other examples of configuration which can be placed in this file
+# but new users likely won't need any of them initially.
+#
+# Lines starting with the '#' character are commented out and in some cases the
+# default values are provided as comments to show people example syntax. Enabling
+# the option is a question of removing the # character and making any change to the
+# variable as required.
+
+#
+# Machine Selection
+#
+# You need to select a specific machine to target the build with. There are a selection
+# of emulated machines available which can boot and run in the QEMU emulator:
+#
+#MACHINE ?= "qemuarm"
+#MACHINE ?= "qemuarm64"
+#MACHINE ?= "qemumips"
+#MACHINE ?= "qemumips64"
+#MACHINE ?= "qemuppc"
+#MACHINE ?= "qemux86"
+#MACHINE ?= "qemux86-64"
+#
+# There are also the following hardware board target machines included for
+# demonstration purposes:
+#
+#MACHINE ?= "beaglebone"
+#MACHINE ?= "genericx86"
+#MACHINE ?= "genericx86-64"
+#MACHINE ?= "mpc8315e-rdb"
+#MACHINE ?= "edgerouter"
+#
+# This sets the default machine to be qemux86 if no other machine is selected:
+MACHINE ??= "salvator-x"
+
+# This sets the SoC
+# H3: r8a7795, M3: r8a7796
+SOC_FAMILY = "r8a7795"
+#SOC_FAMILY = "r8a7796"
+
+#
+# Where to place downloads
+#
+# During a first build the system will download many different source code tarballs
+# from various upstream projects. This can take a while, particularly if your network
+# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
+# can preserve this directory to speed up this part of subsequent builds. This directory
+# is safe to share between multiple builds on the same machine too.
+#
+# The default is a downloads directory under TOPDIR which is the build directory.
+#
+#DL_DIR ?= "${TOPDIR}/downloads"
+
+#
+# Where to place shared-state files
+#
+# BitBake has the capability to accelerate builds based on previously built output.
+# This is done using "shared state" files which can be thought of as cache objects
+# and this option determines where those files are placed.
+#
+# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
+# from these files if no changes were made to the configuration. If changes were made
+# to the configuration, only shared state files where the state was still valid would
+# be used (done using checksums).
+#
+# The default is a sstate-cache directory under TOPDIR.
+#
+#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
+
+#
+# Where to place the build output
+#
+# This option specifies where the bulk of the building work should be done and
+# where BitBake should place its temporary files and output. Keep in mind that
+# this includes the extraction and compilation of many applications and the toolchain
+# which can use Gigabytes of hard disk space.
+#
+# The default is a tmp directory under TOPDIR.
+#
+#TMPDIR = "${TOPDIR}/tmp"
+
+#
+# Default policy config
+#
+# The distribution setting controls which policy settings are used as defaults.
+# The default value is fine for general Yocto project use, at least initially.
+# Ultimately when creating custom policy, people will likely end up subclassing
+# these defaults.
+#
+DISTRO ?= "poky"
+# As an example of a subclass there is a "bleeding" edge policy configuration
+# where many versions are set to the absolute latest code from the upstream
+# source control systems. This is just mentioned here as an example, its not
+# useful to most new users.
+# DISTRO ?= "poky-bleeding"
+
+#
+# Package Management configuration
+#
+# This variable lists which packaging formats to enable. Multiple package backends
+# can be enabled at once and the first item listed in the variable will be used
+# to generate the root filesystems.
+# Options are:
+# - 'package_deb' for debian style deb files
+# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
+# - 'package_rpm' for rpm style packages
+# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
+# We default to rpm:
+PACKAGE_CLASSES ?= "package_ipk"
+
+#
+# SDK target architecture
+#
+# This variable specifies the architecture to build SDK items for and means
+# you can build the SDK packages for architectures other than the machine you are
+# running the build on (i.e. building i686 packages on an x86_64 host).
+# Supported values are i686 and x86_64
+#SDKMACHINE ?= "i686"
+
+#
+# Extra image configuration defaults
+#
+# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
+# images. Some of these options are added to certain image types automatically. The
+# variable can contain the following options:
+# "dbg-pkgs" - add -dbg packages for all installed packages
+# (adds symbol information for debugging/profiling)
+# "dev-pkgs" - add -dev packages for all installed packages
+# (useful if you want to develop against libs in the image)
+# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
+# (useful if you want to run the package test suites)
+# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
+# "tools-debug" - add debugging tools (gdb, strace)
+# "eclipse-debug" - add Eclipse remote debugging support
+# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
+# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
+# "debug-tweaks" - make an image suitable for development
+# e.g. ssh root access has a blank password
+# There are other application targets that can be used here too, see
+# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
+# We default to enabling the debugging tweaks.
+EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
+
+#
+# Additional image features
+#
+# The following is a list of additional classes to use when building images which
+# enable extra features. Some available options which can be included in this variable
+# are:
+# - 'buildstats' collect build statistics
+# - 'image-mklibs' to reduce shared library files size for an image
+# - 'image-prelink' in order to prelink the filesystem image
+# - 'image-swab' to perform host system intrusion detection
+# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
+# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
+# image-prelink disabled for now due to issues with IFUNC symbol relocation
+USER_CLASSES ?= "buildstats image-mklibs"
+
+#
+# Runtime testing of images
+#
+# The build system can test booting virtual machine images under qemu (an emulator)
+# after any root filesystems are created and run tests against those images. To
+# enable this uncomment this line. See classes/testimage(-auto).bbclass for
+# further details.
+#TEST_IMAGE = "1"
+#
+# Interactive shell configuration
+#
+# Under certain circumstances the system may need input from you and to do this it
+# can launch an interactive shell. It needs to do this since the build is
+# multithreaded and needs to be able to handle the case where more than one parallel
+# process may require the user's attention. The default is iterate over the available
+# terminal types to find one that works.
+#
+# Examples of the occasions this may happen are when resolving patches which cannot
+# be applied, to use the devshell or the kernel menuconfig
+#
+# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
+# Note: currently, Konsole support only works for KDE 3.x due to the way
+# newer Konsole versions behave
+#OE_TERMINAL = "auto"
+# By default disable interactive patch resolution (tasks will just fail instead):
+PATCHRESOLVE = "noop"
+
+#
+# Disk Space Monitoring during the build
+#
+# Monitor the disk space during the build. If there is less that 1GB of space or less
+# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
+# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
+# of the build. The reason for this is that running completely out of space can corrupt
+# files and damages the build in ways which may not be easily recoverable.
+# It's necesary to monitor /tmp, if there is no space left the build will fail
+# with very exotic errors.
+BB_DISKMON_DIRS = "\
+ STOPTASKS,${TMPDIR},1G,100K \
+ STOPTASKS,${DL_DIR},1G,100K \
+ STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
+ ABORT,${TMPDIR},100M,1K \
+ ABORT,${DL_DIR},100M,1K \
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+
+#
+# Shared-state files from other locations
+#
+# As mentioned above, shared state files are prebuilt cache data objects which can
+# used to accelerate build time. This variable can be used to configure the system
+# to search other mirror locations for these objects before it builds the data itself.
+#
+# This can be a filesystem directory, or a remote url such as http or ftp. These
+# would contain the sstate-cache results from previous builds (possibly from other
+# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
+# cache locations to check for the shared objects.
+# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
+# at the end as shown in the examples below. This will be substituted with the
+# correct path within the directory structure.
+#SSTATE_MIRRORS ?= "\
+#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
+#file://.* file:///some/local/dir/sstate/PATH"
+
+
+#
+# Qemu configuration
+#
+# By default qemu will build with a builtin VNC server where graphical output can be
+# seen. The two lines below enable the SDL backend too. By default libsdl-native will
+# be built, if you want to use your host's libSDL instead of the minimal libsdl built
+# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
+PACKAGECONFIG_append_pn-qemu-native = " sdl"
+PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
+#ASSUME_PROVIDED += "libsdl-native"
+
+# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
+# track the version of this file when it was generated. This can safely be ignored if
+# this doesn't mean anything to you.
+CONF_VERSION = "1"
+
+# Add systemd configuration
+DISTRO_FEATURES_append = " systemd"
+VIRTUAL-RUNTIME_init_manager = "systemd"
+
+# add the static lib to SDK toolchain
+SDKIMAGE_FEATURES_append = " staticdev-pkgs"
+
+# Disable optee in meta-linaro layer
+BBMASK = "meta-linaro/meta-optee/recipes-security/optee"
+
+# Mask graphic Pkgs
+BBMASK .= "|gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK .= "|kernel-module-uvcs-drv|omx-user-module"
diff --git a/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh b/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh
new file mode 100755
index 0000000..6096c5b
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh
@@ -0,0 +1,1348 @@
+#!/bin/sh
+
+# Copyright (C) Renesas Electronics Corporation 2016 All rights reserved.
+
+usage()
+{
+cat << EOF
+ usage: `basename $0` [-f] [-d] source-directory
+ -f: fource copy. ignore md5check
+ -d: debug mode
+
+ Ex)
+ `basename $0` -f my_package_dir
+EOF
+}
+
+##### MD5 list #####
+. `dirname $0`/md5list.txt
+
+##### Library List #####
+# Audio Library
+# Please add omx audio library to "_audio_list"
+# Don't use space in xxx_name.
+# audio_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_audio_list="AAC-LC_decoder_lib,EVARTM0AC0000XAAACD30SL40C,RTM0AC0000XAAACD30SL40C.tar.gz \
+ aacPlusV2_decoder_lib,EVARTM0AC0000XAAAPD30SL40C,RTM0AC0000XAAAPD30SL40C.tar.gz \
+ MP3_decoder_lib,EVARTM0AC0000XAMP3D30SL40C,RTM0AC0000XAMP3D30SL40C.tar.gz \
+ WMA_decoder_lib,EVARTM0AC0000XAWMAD30SL40C,RTM0AC0000XAWMAD30SL40C.tar.gz \
+ AAC-LC_encoder_lib,EVARTM0AC0000XAAACE30SL40C,RTM0AC0000XAAACE30SL40C.tar.gz \
+ ALAC_decoder_lib,EVARTM0AC0000XAALAD30SL40C,RTM0AC0000XAALAD30SL40C.tar.gz \
+ FLAC_decoder_lib,EVARTM0AC0000XAFLAD30SL40C,RTM0AC0000XAFLAD30SL40C.tar.gz \
+ Dolby_decoder_lib,EVARTM0AC0000XADD5D30SL40C,RTM0AC0000XADD5D30SL40C.tar.gz"
+
+# Audio M/W Library
+# Please add omx audio library to "_audio_mw_list"
+# Don't use space in xxx_name.
+# audio_mw_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_audio_mw_list="AAC-LC_decoder_M/W,EVARTM0AC0000ADAACMZ1SL40C,RTM0AC0000ADAACMZ1SL40C.tar.gz \
+ aacPlusV2_decoder_M/W,EVARTM0AC0000ADAAPMZ1SL40C,RTM0AC0000ADAAPMZ1SL40C.tar.gz \
+ MP3_decoder_M/W,EVARTM0AC0000ADMP3MZ1SL40C,RTM0AC0000ADMP3MZ1SL40C.tar.gz \
+ WMA_decoder_M/W,EVARTM0AC0000ADWMAMZ1SL40C,RTM0AC0000ADWMAMZ1SL40C.tar.gz \
+ AAC-LC_encoder_M/W,EVARTM0AC0000AEAACMZ1SL40C,RTM0AC0000AEAACMZ1SL40C.tar.gz \
+ DDD_decoder_M/W,EVARTM0AC0000ADDD5MZ1SL40C,RTM0AC0000ADDD5MZ1SL40C.tar.gz"
+
+# Video Decoder Library
+# Please add omx video decoder library to "_video_dec_list"
+# Don't use space in xxx_name.
+# video_dec_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_video_dec_list="H263_decoder,EVARTM0AC0000XV263D30SL40C,EVARTM0AC0000XV263D30SL40C.tar.bz2 \
+ H264_decoder,EVARTM0AC0000XV264D30SL40C,EVARTM0AC0000XV264D30SL40C.tar.bz2 \
+ H265_decoder,EVARTM0AC0000XV265D30SL40C,EVARTM0AC0000XV265D30SL40C.tar.bz2 \
+ MPEG2_decoder,EVARTM0AC0000XVM2VD30SL40C,EVARTM0AC0000XVM2VD30SL40C.tar.bz2 \
+ MPEG4_decoder,EVARTM0AC0000XVM4VD30SL40C,EVARTM0AC0000XVM4VD30SL40C.tar.bz2 \
+ VC1_decoder,EVARTM0AC0000XVVC1D30SL40C,EVARTM0AC0000XVVC1D30SL40C.tar.bz2 \
+ DivX_decoder,EVARTM0AC0000XVDVXD30SL40C,EVARTM0AC0000XVDVXD30SL40C.tar.bz2 \
+ RealVideo_decoder,EVARTM0AC0000XVRLVD30SL40C,EVARTM0AC0000XVRLVD30SL40C.tar.bz2"
+
+# Video Encoder Library
+# Please add omx video encoder library to "_video_enc_list"
+# Don't use space in xxx_name.
+# video_enc_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_video_enc_list="H264_encoder,EVARTM0AC0000XV264E30SL40C,EVARTM0AC0000XV264E30SL40C.tar.bz2"
+
+# Common library packages
+# Don't use space in xxx_name.
+# XXX_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_omx_common_list="omx_common_lib,EVARTM0AC0000XCMCTL30SL40C,EVARTM0AC0000XCMCTL30SL40C.tar.bz2"
+_uvcs_list="uvcs_lib,RCG3VUDRL4001ZDO,RCG3VUDRL4001ZDO.tar.bz2"
+_video_enc_common_list="video_enc_common,EVARTM0AC0000XVCMNE30SL40C,EVARTM0AC0000XVCMNE30SL40C.tar.bz2"
+_video_dec_common_list="video_dec_common,EVARTM0AC0000XVCMND30SL40C,EVARTM0AC0000XVCMND30SL40C.tar.bz2"
+_audio_common_list="audio_common,EVARTM0AC0000XACMND30SL40C,RTM0AC0000XACMND30SL40C.tar.gz"
+
+
+# DTV Library
+# Please add DTV library to "_dtv_list"
+# Don't use space in xxx_name.
+# dtv_xx_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_dtv_km_list="dtv_km,RCG3T001L4001ZDO,Software.tar.gz"
+_dtv_um_list="dtv_lib,RTM0RC0000TE020000SL40C,Software.tar.gz,RTM0RC0000TE020000SL40C1 \
+ dtv_userfunc,RTM0RC0000TE020000SL40C,../Reference/Reference.tar.gz,RTM0RC0000TE020000SL40C2"
+
+# DVD Library
+# Please add DVD library to "_dvd_list"
+# Don't use space in xxx_name.
+# dvd_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_dvd_list="dvd_lib,RTM0RC0000XDVDC301SL40C,Software.tar.gz"
+
+# CMS Library
+# Please add CMS library to "_cms_list"
+# Don't use space in xxx_name.
+# cms_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_cms_list="bcm,RTM0AC0000JRCMBCV0SL40C,RTM0AC0000JRCMBCV0SL40C.tar.gz \
+ blc,RTM0AC0000JRCMBLC0SL40C,RTM0AC0000JRCMBLC0SL40C.tar.gz \
+ dgc,RTM0AC0000JRCMDGV0SL40C,RTM0AC0000JRCMDGV0SL40C.tar.gz"
+
+# ADSP
+# Please add ADSP to "_adsp_list"
+# Don't use space in xxx_name.
+# adsp_xx_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_adsp_um_list="adsp_fw,RCG3AHFWN0101ZDP,RCG3AHFWN0101ZDP.tar.gz \
+ adsp_if,RCG3AHIFL4001ZDP,RCG3AHIFL4001ZDP.tar.gz"
+_adsp_km_list="adsp_driver,RCG3AHPDL4001ZDO,RCG3AHPDL4001ZDO.tar.gz"
+
+# GFX
+# Please add GFX to "_gfx_list"
+# Don't use space in xxx_name.
+# gfx_list="<package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)> \
+# <package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)> \
+# <package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)>"
+_gfx_list="EVARTM0RC7795GLTG0001SL40C,EVA_r8a7795_linux_gsx_binaries_gles3.tar.bz2,RCH3G001L4001ZDO,GSX_KM_H3.tar.bz2 \
+ EVARTM0RC7796GLTG0001SL40C,EVA_r8a7796_linux_gsx_binaries_gles3.tar.bz2,RCM3G001L4001ZDO,GSX_KM_M3.tar.bz2 \
+ INFRTM0RC7795GLTG0001SL40C,INF_r8a7795_linux_gsx_binaries_gles3.tar.bz2,RCH3G001L4001ZDO,GSX_KM_H3.tar.bz2 \
+ INFRTM0RC7796GLTG0001SL40C,INF_r8a7796_linux_gsx_binaries_gles3.tar.bz2,RCM3G001L4001ZDO,GSX_KM_M3.tar.bz2"
+
+# ICCOM
+# Please add ICCOM to "_iccom_list"
+# Don't use space in xxx_name.
+# iccom_xx_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_iccom_km_list="iccom_mfis,RCG3ZLIDL4001ZNO,iccom-mfis.tar.bz2,RCG3ZLIDL4001ZNO1 \
+ iccom_sample,RCG3ZLIDL4001ZNO,iccom-hwspinlock-sample.tar.bz2,RCG3ZLIDL4001ZNO2"
+_iccom_um_list="iccom_lib,RCG3ZLILL4001ZNO,libiccom.tar.bz2,RCG3ZLILL4001ZNO"
+
+# Crypto Packgae list
+# Please add crypto (zip) package name to "_crypto_pkg_list"
+# Don't use space in xxx_name.
+# crypto_pkg_list="<packgae name> <packgae name> <packgae name>"
+_crypto_pkg_list="RTM0AC0000ADDD5MZ1SL40C"
+
+##### static value
+_MODE_ZIP=1
+_MODE_TAR=2
+_MODE_CRYPTO_ZIP=3
+_GFX_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles"
+_GFX_UM_INST_DIR="../meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module"
+_UVCS_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv"
+_OMX_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module"
+_DTV_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-dtv/files"
+_DTV_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module"
+_DVD_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module"
+_CMS_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module"
+_ADSP_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-adsp/xtensa-hifi"
+_ADSP_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/adsp-module/files"
+_ICCOM_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-iccom/files"
+_ICCOM_UM_INST_DIR="../meta-rcar-gen3/recipes-connectivity/iccom-module/files"
+
+##### common function
+
+# $1: search file name
+# $2: search directory
+# return global variable
+# _find_filename: find filename
+# _extract_mode: _MODE_ZIP or _MODE_TAR
+func_cmn_find_file()
+{
+# echo "$1"
+# echo "$2"
+ if [ -z "$1" ]; then
+ func_error "ERROR: func_cmn_find_file: empty filename"
+ fi
+
+ if [ -z "$2" ]; then
+ _search_dir=${_src_full}
+ else
+ _search_dir=$2
+ fi
+
+ # search zip file
+# zip_count=`find ${_search_dir} -maxdepth 1 -name "$1*.zip" | wc -l`
+ zip_count=`ls ${_search_dir}/$1*.zip 2>/dev/null | wc -l`
+
+ # search tar file
+# tar_count=`find ${_search_dir} -maxdepth 1 -name "$1*.tar.*" | wc -l`
+ tar_count=`ls ${_search_dir}/$1*.tar.* 2>/dev/null | wc -l`
+
+ # duplicate file check
+ if [ 1 -lt `expr $zip_count + $tar_count` ]; then
+ echo "file1_zip = $zip_count"
+ echo "file1_tar = $tar_count"
+ func_error "ERROR: $1: too many files"
+ fi
+
+ crypto_zip_count=0
+ for i in ${_crypto_pkg_list}
+ do
+ if [ $1 = $i ]; then
+ crypto_zip_count=$zip_count
+ zip_count=0
+ fi
+ done
+
+ # set result
+ if [ 1 = $zip_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.zip)
+ _extract_mode=${_MODE_ZIP}
+ elif [ 1 = $tar_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.tar.*)
+ _extract_mode=${_MODE_TAR}
+ elif [ 1 = $crypto_zip_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.zip)
+ _extract_mode=${_MODE_CRYPTO_ZIP}
+ else
+ _find_filename=""
+ fi
+}
+
+# $1: Mode
+# $2: archive file name
+func_cmn_extract_archive()
+{
+ case $1 in
+ $_MODE_ZIP)
+# echo "Zip mode"
+ unzip -oq $2
+ ;;
+ $_MODE_TAR)
+# echo "Tar mode"
+ tar xf $2
+ ;;
+ $_MODE_CRYPTO_ZIP)
+# echo "Crypto Zip mode"
+ unzip -oq $2
+ top_dir=$(basename $2)
+ top_dir=${top_dir%.*}
+ cd ${top_dir}
+ unzip -oq *.zip
+ if [ $? -gt 0 ]; then
+ func_error "ERROR: FAILED ZIP PASSWORD"
+ fi
+ cd ${TMPWORK}
+ ;;
+ *)
+ func_error "ERROR: func_cmn_extract_archive: mode error."
+ exit 1
+ ;;
+ esac
+}
+
+# $1: set target filename.
+# $2: set MD5 expectation value.
+func_cmn_md5_check()
+{
+ _md5_func_param_filename=$1
+ _md5_func_param_expectation=$2
+ if [ ! -e ${_md5_func_param_filename} ]; then
+ func_error "func_cmn_md5_check : ERROR ${_md5_func_param_filename} not found."
+ fi
+
+ _calc_md5=$(md5sum ${_md5_func_param_filename} | cut -d " " -f1)
+
+ if [ -n "${_no_md5check}" ] || [ -z ${_md5_func_param_expectation} ]; then
+ echo "Skip MD5 : `basename ${_md5_func_param_filename}`"
+ return
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo "MD5 target file = ${_md5_func_param_filename}"
+ echo "calc_md5 = ${_calc_md5}"
+ echo "expect_value = ${_md5_func_param_expectation}"
+ fi
+
+ if [ ${_calc_md5} = ${_md5_func_param_expectation} ]; then
+ echo "MD5 OK : `basename ${_md5_func_param_filename}`"
+ else
+ echo "calc_md5 = ${_calc_md5}"
+ echo "expect_value = ${_md5_func_param_expectation}"
+ func_error "MD5 ERROR : ${_md5_func_param_filename}"
+ fi
+}
+
+##### Error function
+# $1: error message
+func_error()
+{
+ echo "$1"
+ # cleanup temp directory.
+ func_clean_tempdir
+ exit 1
+}
+
+##### cleanup temp directory
+func_clean_tempdir()
+{
+ echo "cleanup temp directory"
+ rm -rf ${TMPWORK}
+}
+
+##### Template function for Single package
+
+# $1: package name
+# $2: search target filename
+# $3: search directory (full path)
+# return
+# _find_filename : the found file (full path)
+# _extract_top_dir_name
+func_search_file_in_package()
+{
+ # search package file
+ func_cmn_find_file $1 $3
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ # Get directory name
+ # {PATH}/Package_Version.tar.gz or XXXX.zip --> Package_Version
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # search file
+ num=`find ${top_dir} -name $2 | wc -l`
+ if [ ${num} -eq 1 ]; then
+ _find_filename=`find ${top_dir} -name $2`
+ else
+ # same filename exists.
+ _find_filename=`find ${top_dir} -name $2 | grep Software`
+ fi
+
+ # set mode
+ if [ `echo ${_find_filename} | grep '\.'zip` ]; then
+ _extract_mode=${_MODE_ZIP}
+ else
+ _extract_mode=${_MODE_TAR}
+ fi
+
+ # set return value
+ _extract_top_dir_name=${top_dir}
+}
+
+# $1: package name
+# $2: copy filename (md5 target)
+# $3: expect MD5 value
+# $4: search directory (full path)
+# return
+# _find_file_name
+# _extract_top_dir_name
+func_search_and_md5check()
+{
+ # search package file
+ func_cmn_find_file $1 $4
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ # MD5
+ # Get directory name
+ # {PATH}/Package_Version.tar.gz or XXXX.zip --> Package_Version
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # call func_cmn_md5_check
+# func_cmn_md5_check "${top_dir}/$1/Software/$2" "$3"
+
+ # set return value
+ _extract_top_dir_name=${top_dir}
+}
+
+##### Template function for Group package
+# $1: group package name
+# $2: single package name
+# $3: copy filename (md5 target)
+# $4: expect MD5 value
+# $5: search directory (full path)
+# return
+# _find_file_name
+# _extract_top_dir_name
+#
+# NOTE) This function support level1 packaging. "grp pkg in grp pkg" dose note support.
+func_search_and_md5check_grp()
+{
+ # search group package @SRCDIR
+ func_cmn_find_file $1 $5
+ if [ -n "${_debug}" ]; then
+ echo "search group package"
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ echo ""
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract group package @TMPWORK
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ cd ${_find_filename}
+ # check group pachage structure
+ # <Package name>_<version>/Package_Info.txt
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ if [ ! -e ${top_dir}/Package_Info.txt ]; then
+ echo "grp package = $1"
+ echo "single package = $2"
+ func_error "ERROR: Package_Info.txt not found in Group package."
+ fi
+
+ # search single package @TMPWORK/TOPDIR/<Group Package name>/
+ func_cmn_find_file $2 "${TMPWORK}/${top_dir}/$1"
+ if [ -n "${_debug}" ]; then
+ echo "search single package"
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ echo ""
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # mv <single package> TMPWORK/.
+ mv ${_find_filename} ${TMPWORK}/.
+
+ # delete group package
+ rm -rf ${TMPWORK}/${top_dir}
+
+ # call search and md5check @TMPWORK
+ func_search_and_md5check $2 $3 $4 ${TMPWORK}
+}
+
+##### File search and MD5check for Package list
+# $1: package list
+# $2: rigid flag (1: true, other: false)
+#
+# return
+# 1: [Success] One or more files were found.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_md5check ()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'${pkg_name}`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ func_search_and_md5check "${pkg_name}" "${copyfile_name}" "${md5_val}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ # rigid flag = TRUE. Not found = ERROR
+ if [ "X$2" = "X1" ]; then
+ return 0
+ fi
+ else
+ find_flag=1
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### File search and install (without MD5check) for Package list
+#
+# $1: package list
+# $2: install directory
+#
+# return
+# 1: [Success] One or more files were installed.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_install_wo_md5check()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'$pkg_name`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ copyfile_name=$(basename ${copyfile_name})
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ # file search
+ func_search_file_in_package "${pkg_name}" "${copyfile_name}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ else
+ find_flag=1
+
+ # install
+ install -d $2
+ install -m 0644 ${_find_filename} $2
+ echo "Installed $sw_name"
+ echo " : ${pkg_name}"
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### File search and install for Package list
+#
+# $1: package list
+# $2: install directory
+#
+# return
+# 1: [Success] One or more files were installed.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_install()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'$pkg_name`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ # seach & MD5 check
+ func_search_and_md5check "${pkg_name}" "${copyfile_name}" "${md5_val}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ else
+ find_flag=1
+
+ # Get directory name
+ # _find_filename = pkg file (full path). It is not copyfile.
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # install
+ install -d $2
+ install -m 0644 ${top_dir}/${pkg_name}/Software/${copyfile_name} $2
+ echo "Installed $sw_name"
+ echo " : ${pkg_name}"
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### Package function
+
+# For 3D graphics packages
+func_gfx()
+{
+ echo ""
+ echo "Copying for Graphic Packages"
+
+ copy_flag=0
+
+ for i in ${_gfx_list}
+ do
+ user_pkg_name=`echo $i | cut -d "," -f 1`
+ user_copyfile_name=`echo $i | cut -d "," -f 2`
+ user_md5_val=`eval echo '$_MD5_'${user_pkg_name}`
+ kern_pkg_name=`echo $i | cut -d "," -f 3`
+ kern_copyfile_name=`echo $i | cut -d "," -f 4`
+ kern_md5_val=`eval echo '$_MD5_'${kern_pkg_name}`
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "user_pkg_name = ${user_pkg_name}"
+ echo "user_copyfile_name= ${user_copyfile_name}"
+ echo "user_md5_val = ${user_md5_val}"
+ echo "kern_pkg_name = ${kern_pkg_name}"
+ echo "kern_copyfile_name= ${kern_copyfile_name}"
+ echo "kern_md5_val = ${kern_md5_val}"
+ fi
+
+ # user module (file1)
+ func_search_and_md5check "${user_pkg_name}" "${user_copyfile_name}" "${user_md5_val}" "${_src_full}"
+
+ if [ -z "${_find_filename}" ]; then
+ echo "${user_pkg_name} not found!"
+ continue
+ fi
+
+ file1_top_dir=${_extract_top_dir_name}
+ echo "file1 top : ${file1_top_dir}"
+
+ # kernel module (file2)
+ func_search_and_md5check "${kern_pkg_name}" "${kern_copyfile_name}" "${kern_md5_val}" "${_src_full}"
+
+ # file1 exist, but file2 not exist
+ if [ -z "${_find_filename}" ]; then
+ func_error "ERROR: func_gfx: package file for Graphic is incomplete."
+ fi
+
+ file2_top_dir=${_extract_top_dir_name}
+ echo "file2 top : ${file2_top_dir}"
+
+ # Finally copy is performed
+ copy_flag=1
+ install -d ${_GFX_UM_INST_DIR}
+ install -m 0644 ${file1_top_dir}/${user_pkg_name}/Software/${user_copyfile_name} ${_GFX_UM_INST_DIR}/`echo ${user_copyfile_name} | cut -b 5-200`
+ install -d ${_GFX_KM_INST_DIR}
+ install -m 0644 ${file2_top_dir}/${kern_pkg_name}/Software/${kern_copyfile_name} ${_GFX_KM_INST_DIR}
+ echo "Installed GFX package"
+ echo " : ${user_pkg_name}"
+ echo " : ${kern_pkg_name}"
+ echo ""
+ done
+
+ if [ ${copy_flag} -eq 0 ]; then
+ return
+ fi
+
+ echo ""
+ echo "Packages for GFX module were found and copied."
+ echo /=======================================================/
+}
+
+##### For Multi Media
+
+# For Audio library copy
+#
+# Global
+# _audio_list: audio library list
+# Return
+# 0: Not found
+# 1: Success
+func_audio_lib()
+{
+ # MD5 check: OMX Media Component Audio Common Library for Linux
+ func_list_search_and_md5check "${_audio_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "Audio Common Library not found!"
+ echo ""
+ return 0
+ fi
+
+ # MD5 check: audio library.
+ func_list_search_and_md5check "${_audio_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "Audio library not found."
+ return 0
+ fi
+
+ # Add audio common library to list
+ _audio_list="${_audio_common_list} ${_audio_list}"
+
+ # Install omx common lib (if not installed)
+ func_install_omx_common
+
+ # Install Audio library packages
+ func_list_search_and_install_wo_md5check "${_audio_list}" "${_OMX_UM_INST_DIR}"
+ _audio_common_install=1
+
+ return 1
+}
+
+# For Audio library
+func_audio()
+{
+ echo ""
+ echo "Copying for Audio Common Packages"
+
+ _audio_common_install=0
+
+ # Audio requires OMX common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # Audio Library
+ func_audio_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Audio Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for Audio module were found and copied."
+ echo /=======================================================/
+}
+
+# For Audio M/W
+# Global
+# _audio_mw_list: audio M/W library list
+# Return
+# 0: Not found
+# 1: Success
+func_audio_mw()
+{
+ echo ""
+ echo "Copying for Audio M/W Packages"
+
+ # MD5 check
+ func_list_search_and_md5check "${_audio_mw_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "Packages for Audio M/W module were not found."
+ return 0
+ fi
+
+ # Install Audio M/W library packages
+ func_list_search_and_install_wo_md5check "${_audio_mw_list}" "${_OMX_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for Audio M/W module were found and copied."
+ echo /=======================================================/
+
+ return 1
+}
+
+# install OMX common library
+func_install_omx_common()
+{
+ if [ ${_omx_common_install} -eq 0 ]; then
+ echo ""
+ echo "Install for OMX Common Packages"
+ func_list_search_and_install_wo_md5check "${_omx_common_list}" "${_OMX_UM_INST_DIR}"
+ _omx_common_install=1
+ fi
+}
+
+# install uvcs driver
+func_install_uvcs()
+{
+ if [ ${_uvcs_install} -eq 0 ]; then
+ echo ""
+ echo "Installed UVCS driver"
+ func_list_search_and_install_wo_md5check "${_uvcs_list}" "${_UVCS_INST_DIR}"
+ _uvcs_install=1
+ fi
+}
+
+# search & MD5 check for OMX Video Decoder library
+# Global
+# _video_dec_list: video decoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_decoder_lib()
+{
+ echo ""
+ echo "Copying for Video Decoder Library Packages"
+
+ # MD5 check: Decoder Common Library (rigid flag=TRUE)
+ func_list_search_and_md5check "${_video_dec_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Video Decoder Common Library not found!"
+ return 0
+ fi
+
+ # MD5 check: Video Decoder Library
+ func_list_search_and_md5check "${_video_dec_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ return 0
+ fi
+
+ # install OMX common lib (if not installed)
+ func_install_omx_common
+
+ # install UVCS driver (if not installed)
+ func_install_uvcs
+
+ # Add video decoder common lib to list
+ _video_dec_list="${_video_dec_common_list} ${_video_dec_list}"
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_video_dec_list}" "${_OMX_UM_INST_DIR}"
+ _video_decoder_common_install=1
+
+ return 1
+}
+
+# search & MD5 check for OMX Video Encoder library
+# Global
+# _video_enc_list: video encoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_encoder_lib()
+{
+ echo ""
+ echo "Copying for Video Encoder Library Packages"
+
+
+ # MD5 check Encoder Common Library (rigid flag=TRUE)
+ func_list_search_and_md5check "${_video_enc_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Video Encoder Common Library not found!"
+ return 0
+ fi
+ _video_encoder_common_install=0
+
+ # Video Encoder Library
+ # MD5 check
+ func_list_search_and_md5check "${_video_enc_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ return 0
+ fi
+
+ # install common lib (if not installed)
+ func_install_omx_common
+
+ # install UVCS driver (if not installed)
+ func_install_uvcs
+
+ # Add Video encoder common library to list
+ _video_enc_list="${_video_enc_common_list} ${_video_enc_list}"
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_video_enc_list}" "${_OMX_UM_INST_DIR}"
+ _video_encoder_common_install=1
+
+ return 1
+}
+
+# For Video decoder
+# Global
+# _video_dec_list: video decoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_decoder()
+{
+ echo ""
+ echo "Copying for Video Decoder Packages"
+
+ # OMX Common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # UVCS driver
+ if [ ${_uvcs_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_uvcs_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "UVCS driver not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "UVCS driver already installed"
+ fi
+
+ # OMX Decoder
+ # Decoder common Lib
+ func_video_decoder_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Video Decoder Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for video decoder module were found and copied."
+ echo /=======================================================/
+}
+
+# For Video encoder
+func_video_encoder()
+{
+ echo ""
+ echo "Copying for Video Encoder Packages"
+
+ # OMX Common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # UVCS driver
+ if [ ${_uvcs_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_uvcs_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "UVCS driver not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "UVCS driver already installed"
+ fi
+
+ # OMX Encoder
+ # Encoder common Lib
+ func_video_encoder_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Video Encoder Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for video encoder module were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV kernel module
+func_dtv_kern()
+{
+ echo ""
+ echo "Copying for DTV kernel module"
+
+ _dtv_kern_install=0
+
+ func_list_search_and_md5check "${_dtv_km_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DTV kernel library not found!"
+ return
+ fi
+
+ pkg_name=`echo ${_dtv_km_list} | cut -d "," -f 2`
+ copyfile_name=`echo ${_dtv_km_list} | cut -d "," -f 3`
+
+ # extract --> archive --> copied
+ echo "Installed DTV kernel modules"
+ func_search_file_in_package "${pkg_name}" "${copyfile_name}" "${_src_full}"
+ func_cmn_extract_archive "${_extract_mode}" "${_find_filename}"
+
+ dtv_driver_list="ssp_drv scu_src_drv tsif_drv tddmac_drv"
+ for i in ${dtv_driver_list}
+ do
+ tar cfz $i.tar.gz $i
+ install -d ${_DTV_KM_INST_DIR}
+ install -m 644 $i.tar.gz ${_DTV_KM_INST_DIR}
+ echo " : $i.tar.gz"
+ done
+
+ _dtv_kern_install=1
+
+ echo ""
+ echo "DTV kernel module were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV lib
+func_dtv_lib()
+{
+ echo ""
+ echo "Copying for DTV Library Packages"
+
+ # DTV kernel modules
+ if [ ${_dtv_kern_install} -eq 0 ]; then
+ echo "DTV kernel module not found!"
+ echo "Skip DTV Package"
+ echo ""
+ return
+ fi
+
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_dtv_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DTV library not found"
+ return
+ fi
+
+ # install
+ func_list_search_and_install_wo_md5check "${_dtv_um_list}" "${_DTV_UM_INST_DIR}"
+
+ echo ""
+ echo "DTV Package were found and copied."
+ echo /=======================================================/
+}
+
+# For DVD lib
+func_dvd_lib()
+{
+ echo ""
+ echo "Copying for DVD Library Packages"
+
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_dvd_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DVD library not found"
+ return
+ fi
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_dvd_list}" "${_DVD_UM_INST_DIR}"
+
+ echo ""
+ echo "DVD Package were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV/DVD main routine
+func_dtv_dvd()
+{
+ echo ""
+ echo "Copying for DTV/DVD Packages"
+
+ # DTV/DVD requires OMX Video Decoder
+ if [ ${_video_decoder_common_install} -eq 0 ]; then
+ echo "Video Decoder Library not found!"
+ echo "Skip DTV/DVD Package"
+ echo ""
+ return
+ fi
+
+ # DTV requires Audio Decoder
+ if [ ${_audio_common_install} -eq 0 ]; then
+ echo "Audio Common Library not found!"
+ echo "Skip DTV Package"
+ echo ""
+ else
+ # DTV package
+ func_dtv_kern
+ func_dtv_lib
+ fi
+
+ # DVD package
+ func_dvd_lib
+}
+
+# For CMS main routine
+func_cms()
+{
+ echo ""
+ echo "Copying for CMS Packages"
+
+ copy_flag=0
+
+ # MD5 check
+ func_list_search_and_md5check "${_cms_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip CMS package"
+ echo ""
+ return
+ fi
+
+ # Install library
+ func_list_search_and_install_wo_md5check "${_cms_list}" "${_CMS_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for CMS were found and copied."
+ echo /=======================================================/
+}
+
+# For ADSP main routine
+func_adsp()
+{
+ echo ""
+ echo "Copying for ADSP Packages"
+
+ # MD5 check (rigid flag = TRUE)
+ # In ADSP, all files are necesarry
+ func_list_search_and_md5check "${_adsp_km_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ADSP Package"
+ echo ""
+ return
+ fi
+
+ func_list_search_and_md5check "${_adsp_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ADSP Package"
+ echo ""
+ return
+ fi
+
+ # Install kernel module
+ func_list_search_and_install_wo_md5check "${_adsp_km_list}" "${_ADSP_KM_INST_DIR}"
+
+ # Install user module
+ func_list_search_and_install_wo_md5check "${_adsp_um_list}" "${_ADSP_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for ADSP were found and copied."
+ echo /=======================================================/
+}
+
+# For ICCOM main routine
+func_iccom()
+{
+ echo ""
+ echo "Copying for ICCOM Packages"
+
+ # MD5 check (rigid flag = TRUE)
+ # In ICCOM, all files are necesarry
+ func_list_search_and_md5check "${_iccom_km_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ICCOM Package"
+ echo ""
+ return
+ fi
+
+ func_list_search_and_md5check "${_iccom_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ICCOM Package"
+ echo ""
+ return
+ fi
+
+ # Install kernel module
+ func_list_search_and_install_wo_md5check "${_iccom_km_list}" "${_ICCOM_KM_INST_DIR}"
+
+ # Install user module
+ func_list_search_and_install_wo_md5check "${_iccom_um_list}" "${_ICCOM_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for ICCOM were found and copied."
+ echo /=======================================================/
+}
+
+################################
+# Copy Script Main routine
+################################
+echo "Copyscript for R-Car Gen3"
+echo
+#### 1) Checking current directory
+if [ ! -d meta-rcar-gen3 ]; then
+ echo "ERROR: Please extract meta-renesas and cd to it, before execute $0"
+ exit 1
+fi
+
+#### 2) Checking Arguments
+if [ "X$1" = "X" ]; then
+ usage
+ exit 1
+fi
+
+while [ $# -gt 0 ] ; do
+ case "$1" in
+ -f|--force)
+ _no_md5check=1
+ ;;
+ -d|--debug)
+ _debug=1
+ ;;
+ *)
+ _src_dirname=$(basename $1)
+ _src_path=$(cd $(dirname $1) && pwd)
+ _src_full=${_src_path}/${_src_dirname}
+ ;;
+ esac
+ shift
+done
+
+#### 3) Checking ClickThrough present
+if [ ! -f ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-*.zip ]; then
+ echo "R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-*.zip not found!"
+ usage
+ exit 1
+fi
+if [ ! -f ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-*.zip ]; then
+ echo "R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-*.zip not found!"
+ usage
+ exit 1
+fi
+
+unzip -d ${_src_full} -oq ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-*.zip
+unzip -d ${_src_full} -oq ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-*.zip
+
+tar -C ${_src_full} -zxf ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-*.tar.gz --strip-components 2
+tar -C ${_src_full} -zxf ${_src_full}/R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-*.tar.gz --strip-components 2
+
+# source directory check
+if [ ! -d ${_src_path}/${_src_dirname} ]; then
+ echo "${_src_path}/${_src_dirname} not found."
+ usage
+ exit 1
+fi
+
+if [ -n "${_debug}" ]; then
+ echo "src = ${_src_dirname}"
+ echo "src_path = ${_src_path}"
+ echo "src_full = ${_src_full}"
+ echo "no_md5check = ${_no_md5check}"
+ echo ""
+fi
+
+##### 3) create temp directory
+TMPWORK=${PWD}/CP_SCRIPT_TEMP
+if [ -d ${TMPWORK} ]; then
+ echo "ERROR: Work directory already exist."
+ exit 1
+fi
+install -d -m 700 ${TMPWORK}
+cd ${TMPWORK}
+
+##### 4) copy
+# initialize flag
+_omx_common_install=0
+_uvcs_install=0
+_audio_common_install=0
+_video_decoder_common_install=0
+_video_encoder_common_install=0
+_dtv_kern_install=0
+
+func_gfx
+func_audio
+func_audio_mw
+func_video_decoder
+func_video_encoder
+func_dtv_dvd
+func_cms
+func_adsp
+func_iccom
+
+##### 5) cleanup temp directory
+func_clean_tempdir
+
+##### End
+echo "Complete copying !"
diff --git a/meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh b/meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh
new file mode 100755
index 0000000..3a100e1
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/copyscript/copy_proprietary_softwares.sh
@@ -0,0 +1,1330 @@
+#!/bin/sh
+
+# Copyright (C) Renesas Electronics Corporation 2015 All rights reserved.
+
+usage()
+{
+cat << EOF
+ usage: `basename $0` [-f] [-d] source-directory
+ -f: fource copy. ignore md5check
+ -d: debug mode
+
+ Ex)
+ `basename $0` -f my_package_dir
+EOF
+}
+
+##### MD5 list #####
+. `dirname $0`/md5list.txt
+
+##### Library List #####
+# Audio Library
+# Please add omx audio library to "_audio_list"
+# Don't use space in xxx_name.
+# audio_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_audio_list="AAC-LC_decoder_lib,RTM0AC0000XAAACD30SL40C,RTM0AC0000XAAACD30SL40C.tar.gz \
+ aacPlusV2_decoder_lib,RTM0AC0000XAAAPD30SL40C,RTM0AC0000XAAAPD30SL40C.tar.gz \
+ MP3_decoder_lib,RTM0AC0000XAMP3D30SL40C,RTM0AC0000XAMP3D30SL40C.tar.gz \
+ WMA_decoder_lib,RTM0AC0000XAWMAD30SL40C,RTM0AC0000XAWMAD30SL40C.tar.gz \
+ AAC-LC_encoder_lib,RTM0AC0000XAAACE30SL40C,RTM0AC0000XAAACE30SL40C.tar.gz \
+ ALAC_decoder_lib,RTM0AC0000XAALAD30SL40C,RTM0AC0000XAALAD30SL40C.tar.gz \
+ FLAC_decoder_lib,RTM0AC0000XAFLAD30SL40C,RTM0AC0000XAFLAD30SL40C.tar.gz \
+ Dolby_decoder_lib,RTM0AC0000XADD5D30SL40C,RTM0AC0000XADD5D30SL40C.tar.gz"
+
+# Audio M/W Library
+# Please add omx audio library to "_audio_mw_list"
+# Don't use space in xxx_name.
+# audio_mw_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_audio_mw_list="AAC-LC_decoder_M/W,RTM0AC0000ADAACMZ1SL40C,RTM0AC0000ADAACMZ1SL40C.tar.gz \
+ aacPlusV2_decoder_M/W,RTM0AC0000ADAAPMZ1SL40C,RTM0AC0000ADAAPMZ1SL40C.tar.gz \
+ MP3_decoder_M/W,RTM0AC0000ADMP3MZ1SL40C,RTM0AC0000ADMP3MZ1SL40C.tar.gz \
+ WMA_decoder_M/W,RTM0AC0000ADWMAMZ1SL40C,RTM0AC0000ADWMAMZ1SL40C.tar.gz \
+ AAC-LC_encoder_M/W,RTM0AC0000AEAACMZ1SL40C,RTM0AC0000AEAACMZ1SL40C.tar.gz \
+ DDD_decoder_M/W,RTM0AC0000ADDD5MZ1SL40C,RTM0AC0000ADDD5MZ1SL40C.tar.gz"
+
+# Video Decoder Library
+# Please add omx video decoder library to "_video_dec_list"
+# Don't use space in xxx_name.
+# video_dec_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_video_dec_list="H263_decoder,RTM0AC0000XV263D30SL40C,RTM0AC0000XV263D30SL40C.tar.bz2 \
+ H264_decoder,RTM0AC0000XV264D30SL40C,RTM0AC0000XV264D30SL40C.tar.bz2 \
+ H265_decoder,RTM0AC0000XV265D30SL40C,RTM0AC0000XV265D30SL40C.tar.bz2 \
+ MPEG2_decoder,RTM0AC0000XVM2VD30SL40C,RTM0AC0000XVM2VD30SL40C.tar.bz2 \
+ MPEG4_decoder,RTM0AC0000XVM4VD30SL40C,RTM0AC0000XVM4VD30SL40C.tar.bz2 \
+ VC1_decoder,RTM0AC0000XVVC1D30SL40C,RTM0AC0000XVVC1D30SL40C.tar.bz2 \
+ DivX_decoder,RTM0AC0000XVDVXD30SL40C,RTM0AC0000XVDVXD30SL40C.tar.bz2 \
+ RealVideo_decoder,RTM0AC0000XVRLVD30SL40C,RTM0AC0000XVRLVD30SL40C.tar.bz2"
+
+# Video Encoder Library
+# Please add omx video encoder library to "_video_enc_list"
+# Don't use space in xxx_name.
+# video_enc_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_video_enc_list="H264_encoder,RTM0AC0000XV264E30SL40C,RTM0AC0000XV264E30SL40C.tar.bz2"
+
+# Common library packages
+# Don't use space in xxx_name.
+# XXX_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_omx_common_list="omx_common_lib,RTM0AC0000XCMCTL30SL40C,RTM0AC0000XCMCTL30SL40C.tar.bz2"
+_uvcs_list="uvcs_lib,RCG3VUDRL4001ZDO,RCG3VUDRL4001ZDO.tar.bz2"
+_video_enc_common_list="video_enc_common,RTM0AC0000XVCMNE30SL40C,RTM0AC0000XVCMNE30SL40C.tar.bz2"
+_video_dec_common_list="video_dec_common,RTM0AC0000XVCMND30SL40C,RTM0AC0000XVCMND30SL40C.tar.bz2"
+_audio_common_list="audio_common,RTM0AC0000XACMND30SL40C,RTM0AC0000XACMND30SL40C.tar.gz"
+
+
+# DTV Library
+# Please add DTV library to "_dtv_list"
+# Don't use space in xxx_name.
+# dtv_xx_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_dtv_km_list="dtv_km,RCG3T001L4001ZDO,Software.tar.gz"
+_dtv_um_list="dtv_lib,RTM0RC0000TE020000SL40C,Software.tar.gz,RTM0RC0000TE020000SL40C1 \
+ dtv_userfunc,RTM0RC0000TE020000SL40C,../Reference/Reference.tar.gz,RTM0RC0000TE020000SL40C2"
+
+# DVD Library
+# Please add DVD library to "_dvd_list"
+# Don't use space in xxx_name.
+# dvd_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_dvd_list="dvd_lib,RTM0RC0000XDVDC301SL40C,Software.tar.gz"
+
+# CMS Library
+# Please add CMS library to "_cms_list"
+# Don't use space in xxx_name.
+# cms_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_cms_list="bcm,RTM0AC0000JRCMBCV0SL40C,RTM0AC0000JRCMBCV0SL40C.tar.gz \
+ blc,RTM0AC0000JRCMBLC0SL40C,RTM0AC0000JRCMBLC0SL40C.tar.gz \
+ dgc,RTM0AC0000JRCMDGV0SL40C,RTM0AC0000JRCMDGV0SL40C.tar.gz"
+
+# ADSP
+# Please add ADSP to "_adsp_list"
+# Don't use space in xxx_name.
+# adsp_xx_list="<software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name> \
+# <software_name>,<package_name>,<copy_file_name>"
+_adsp_um_list="adsp_fw,RCG3AHFWN0101ZDP,RCG3AHFWN0101ZDP.tar.gz \
+ adsp_if,RCG3AHIFL4001ZDP,RCG3AHIFL4001ZDP.tar.gz"
+_adsp_km_list="adsp_driver,RCG3AHPDL4001ZDO,RCG3AHPDL4001ZDO.tar.gz"
+
+# GFX
+# Please add GFX to "_gfx_list"
+# Don't use space in xxx_name.
+# gfx_list="<package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)> \
+# <package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)> \
+# <package_name(user)>,<copy_file_name(user)>,<package_name(kernel)>,<copy_file_name(kernel)>"
+_gfx_list="RTM0RC7795GLTG0001SL40C,r8a7795_linux_gsx_binaries_gles3.tar.bz2,RCH3G001L4001ZDO,GSX_KM_H3.tar.bz2 \
+ RTM0RC7796GLTG0001SL40C,r8a7796_linux_gsx_binaries_gles3.tar.bz2,RCM3G001L4001ZDO,GSX_KM_M3.tar.bz2 \
+ INFRTM0RC7795GLTG0001SL40C,INF_r8a7795_linux_gsx_binaries_gles3.tar.bz2,RCH3G001L4001ZDO,GSX_KM_H3.tar.bz2 \
+ INFRTM0RC7796GLTG0001SL40C,INF_r8a7796_linux_gsx_binaries_gles3.tar.bz2,RCM3G001L4001ZDO,GSX_KM_M3.tar.bz2"
+
+# ICCOM
+# Please add ICCOM to "_iccom_list"
+# Don't use space in xxx_name.
+# iccom_xx_list="<software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name> \
+# <software_name>,<package_name>,<copy_file_name>,<MD5_name>"
+_iccom_km_list="iccom_mfis,RCG3ZLIDL4001ZNO,iccom-mfis.tar.bz2,RCG3ZLIDL4001ZNO1 \
+ iccom_sample,RCG3ZLIDL4001ZNO,iccom-hwspinlock-sample.tar.bz2,RCG3ZLIDL4001ZNO2"
+_iccom_um_list="iccom_lib,RCG3ZLILL4001ZNO,libiccom.tar.bz2,RCG3ZLILL4001ZNO"
+
+# Crypto Packgae list
+# Please add crypto (zip) package name to "_crypto_pkg_list"
+# Don't use space in xxx_name.
+# crypto_pkg_list="<packgae name> <packgae name> <packgae name>"
+_crypto_pkg_list="RTM0AC0000ADDD5MZ1SL40C"
+
+##### static value
+_MODE_ZIP=1
+_MODE_TAR=2
+_MODE_CRYPTO_ZIP=3
+_GFX_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles"
+_GFX_UM_INST_DIR="../meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module"
+_UVCS_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv"
+_OMX_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module"
+_DTV_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-dtv/files"
+_DTV_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module"
+_DVD_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module"
+_CMS_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module"
+_ADSP_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-adsp/xtensa-hifi"
+_ADSP_UM_INST_DIR="../meta-rcar-gen3/recipes-multimedia/adsp-module/files"
+_ICCOM_KM_INST_DIR="../meta-rcar-gen3/recipes-kernel/kernel-module-iccom/files"
+_ICCOM_UM_INST_DIR="../meta-rcar-gen3/recipes-connectivity/iccom-module/files"
+
+##### common function
+
+# $1: search file name
+# $2: search directory
+# return global variable
+# _find_filename: find filename
+# _extract_mode: _MODE_ZIP or _MODE_TAR
+func_cmn_find_file()
+{
+# echo "$1"
+# echo "$2"
+ if [ -z "$1" ]; then
+ func_error "ERROR: func_cmn_find_file: empty filename"
+ fi
+
+ if [ -z "$2" ]; then
+ _search_dir=${_src_full}
+ else
+ _search_dir=$2
+ fi
+
+ # search zip file
+# zip_count=`find ${_search_dir} -maxdepth 1 -name "$1*.zip" | wc -l`
+ zip_count=`ls ${_search_dir}/$1*.zip 2>/dev/null | wc -l`
+
+ # search tar file
+# tar_count=`find ${_search_dir} -maxdepth 1 -name "$1*.tar.*" | wc -l`
+ tar_count=`ls ${_search_dir}/$1*.tar.* 2>/dev/null | wc -l`
+
+ # duplicate file check
+ if [ 1 -lt `expr $zip_count + $tar_count` ]; then
+ echo "file1_zip = $zip_count"
+ echo "file1_tar = $tar_count"
+ func_error "ERROR: $1: too many files"
+ fi
+
+ crypto_zip_count=0
+ for i in ${_crypto_pkg_list}
+ do
+ if [ $1 = $i ]; then
+ crypto_zip_count=$zip_count
+ zip_count=0
+ fi
+ done
+
+ # set result
+ if [ 1 = $zip_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.zip)
+ _extract_mode=${_MODE_ZIP}
+ elif [ 1 = $tar_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.tar.*)
+ _extract_mode=${_MODE_TAR}
+ elif [ 1 = $crypto_zip_count ]; then
+ _find_filename=$(ls ${_search_dir}/$1*.zip)
+ _extract_mode=${_MODE_CRYPTO_ZIP}
+ else
+ _find_filename=""
+ fi
+}
+
+# $1: Mode
+# $2: archive file name
+func_cmn_extract_archive()
+{
+ case $1 in
+ $_MODE_ZIP)
+# echo "Zip mode"
+ unzip -oq $2
+ ;;
+ $_MODE_TAR)
+# echo "Tar mode"
+ tar xf $2
+ ;;
+ $_MODE_CRYPTO_ZIP)
+# echo "Crypto Zip mode"
+ unzip -oq $2
+ top_dir=$(basename $2)
+ top_dir=${top_dir%.*}
+ cd ${top_dir}
+ unzip -oq *.zip
+ if [ $? -gt 0 ]; then
+ func_error "ERROR: FAILED ZIP PASSWORD"
+ fi
+ cd ${TMPWORK}
+ ;;
+ *)
+ func_error "ERROR: func_cmn_extract_archive: mode error."
+ exit 1
+ ;;
+ esac
+}
+
+# $1: set target filename.
+# $2: set MD5 expectation value.
+func_cmn_md5_check()
+{
+ _md5_func_param_filename=$1
+ _md5_func_param_expectation=$2
+ if [ ! -e ${_md5_func_param_filename} ]; then
+ func_error "func_cmn_md5_check : ERROR ${_md5_func_param_filename} not found."
+ fi
+
+ _calc_md5=$(md5sum ${_md5_func_param_filename} | cut -d " " -f1)
+
+ if [ -n "${_no_md5check}" ] || [ -z ${_md5_func_param_expectation} ]; then
+ echo "Skip MD5 : `basename ${_md5_func_param_filename}`"
+ return
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo "MD5 target file = ${_md5_func_param_filename}"
+ echo "calc_md5 = ${_calc_md5}"
+ echo "expect_value = ${_md5_func_param_expectation}"
+ fi
+
+ if [ ${_calc_md5} = ${_md5_func_param_expectation} ]; then
+ echo "MD5 OK : `basename ${_md5_func_param_filename}`"
+ else
+ echo "calc_md5 = ${_calc_md5}"
+ echo "expect_value = ${_md5_func_param_expectation}"
+ func_error "MD5 ERROR : ${_md5_func_param_filename}"
+ fi
+}
+
+##### Error function
+# $1: error message
+func_error()
+{
+ echo "$1"
+ # cleanup temp directory.
+ func_clean_tempdir
+ exit 1
+}
+
+##### cleanup temp directory
+func_clean_tempdir()
+{
+ echo "cleanup temp directory"
+ rm -rf ${TMPWORK}
+}
+
+##### Template function for Single package
+
+# $1: package name
+# $2: search target filename
+# $3: search directory (full path)
+# return
+# _find_filename : the found file (full path)
+# _extract_top_dir_name
+func_search_file_in_package()
+{
+ # search package file
+ func_cmn_find_file $1 $3
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ # Get directory name
+ # {PATH}/Package_Version.tar.gz or XXXX.zip --> Package_Version
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # search file
+ num=`find ${top_dir} -name $2 | wc -l`
+ if [ ${num} -eq 1 ]; then
+ _find_filename=`find ${top_dir} -name $2`
+ else
+ # same filename exists.
+ _find_filename=`find ${top_dir} -name $2 | grep Software`
+ fi
+
+ # set mode
+ if [ `echo ${_find_filename} | grep '\.'zip` ]; then
+ _extract_mode=${_MODE_ZIP}
+ else
+ _extract_mode=${_MODE_TAR}
+ fi
+
+ # set return value
+ _extract_top_dir_name=${top_dir}
+}
+
+# $1: package name
+# $2: copy filename (md5 target)
+# $3: expect MD5 value
+# $4: search directory (full path)
+# return
+# _find_file_name
+# _extract_top_dir_name
+func_search_and_md5check()
+{
+ # search package file
+ func_cmn_find_file $1 $4
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ # MD5
+ # Get directory name
+ # {PATH}/Package_Version.tar.gz or XXXX.zip --> Package_Version
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # call func_cmn_md5_check
+ func_cmn_md5_check "${top_dir}/$1/Software/$2" "$3"
+
+ # set return value
+ _extract_top_dir_name=${top_dir}
+}
+
+##### Template function for Group package
+# $1: group package name
+# $2: single package name
+# $3: copy filename (md5 target)
+# $4: expect MD5 value
+# $5: search directory (full path)
+# return
+# _find_file_name
+# _extract_top_dir_name
+#
+# NOTE) This function support level1 packaging. "grp pkg in grp pkg" dose note support.
+func_search_and_md5check_grp()
+{
+ # search group package @SRCDIR
+ func_cmn_find_file $1 $5
+ if [ -n "${_debug}" ]; then
+ echo "search group package"
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ echo ""
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # extract group package @TMPWORK
+ func_cmn_extract_archive ${_extract_mode} "${_find_filename}"
+
+ cd ${_find_filename}
+ # check group pachage structure
+ # <Package name>_<version>/Package_Info.txt
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ if [ ! -e ${top_dir}/Package_Info.txt ]; then
+ echo "grp package = $1"
+ echo "single package = $2"
+ func_error "ERROR: Package_Info.txt not found in Group package."
+ fi
+
+ # search single package @TMPWORK/TOPDIR/<Group Package name>/
+ func_cmn_find_file $2 "${TMPWORK}/${top_dir}/$1"
+ if [ -n "${_debug}" ]; then
+ echo "search single package"
+ echo "FileName = ${_find_filename}"
+ echo "Mode = ${_extract_mode}"
+ echo ""
+ fi
+
+ if [ -z "${_find_filename}" ]; then
+ return
+ fi
+
+ # mv <single package> TMPWORK/.
+ mv ${_find_filename} ${TMPWORK}/.
+
+ # delete group package
+ rm -rf ${TMPWORK}/${top_dir}
+
+ # call search and md5check @TMPWORK
+ func_search_and_md5check $2 $3 $4 ${TMPWORK}
+}
+
+##### File search and MD5check for Package list
+# $1: package list
+# $2: rigid flag (1: true, other: false)
+#
+# return
+# 1: [Success] One or more files were found.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_md5check ()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'${pkg_name}`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ func_search_and_md5check "${pkg_name}" "${copyfile_name}" "${md5_val}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ # rigid flag = TRUE. Not found = ERROR
+ if [ "X$2" = "X1" ]; then
+ return 0
+ fi
+ else
+ find_flag=1
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### File search and install (without MD5check) for Package list
+#
+# $1: package list
+# $2: install directory
+#
+# return
+# 1: [Success] One or more files were installed.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_install_wo_md5check()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'$pkg_name`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ copyfile_name=$(basename ${copyfile_name})
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ # file search
+ func_search_file_in_package "${pkg_name}" "${copyfile_name}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ else
+ find_flag=1
+
+ # install
+ install -d $2
+ install -m 0644 ${_find_filename} $2
+ echo "Installed $sw_name"
+ echo " : ${pkg_name}"
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### File search and install for Package list
+#
+# $1: package list
+# $2: install directory
+#
+# return
+# 1: [Success] One or more files were installed.
+# 0: [Fail] File not found
+#
+# package list format
+# list ="<software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name> \
+# <software_name>,<package_name>,<copy_file_name>,<md5_variable_name>"
+#
+# Note) Don't use space in xxx_name.
+# Note) md5_variable_name is defined in md5list.txt.
+# Prefix "_MD5_" is added automaticary. ex) FOO --> _MD5_FOO
+# It is omissible. The default is "_MD5_<package_name>".
+func_list_search_and_install()
+{
+ find_flag=0
+
+ for i in $1
+ do
+ sw_name=`echo $i | cut -d "," -f 1`
+ pkg_name=`echo $i | cut -d "," -f 2`
+ copyfile_name=`echo $i | cut -d "," -f 3`
+ md5_val=`echo $i | cut -d "," -f 4`
+
+ # <MD5_name> is empty. Default MD5 name is "_MD5_<pkg_name>"
+ if [ -z "${md5_val}" ]; then
+ md5_val=`eval echo '$_MD5_'$pkg_name`
+ else
+ md5_val=`eval echo '$_MD5_'${md5_val}`
+ fi
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "sw_name = $sw_name"
+ echo "pkg_name = $pkg_name"
+ echo "copyfile_name = $copyfile_name"
+ echo "md5_val = $md5_val"
+ fi
+
+ # seach & MD5 check
+ func_search_and_md5check "${pkg_name}" "${copyfile_name}" "${md5_val}" "${_src_full}"
+ if [ -z "${_find_filename}" ]; then
+ echo "${sw_name} not found!"
+ else
+ find_flag=1
+
+ # Get directory name
+ # _find_filename = pkg file (full path). It is not copyfile.
+ top_dir=$(basename ${_find_filename})
+ top_dir=${top_dir%.*}
+
+ # install
+ install -d $2
+ install -m 0644 ${top_dir}/${pkg_name}/Software/${copyfile_name} $2
+ echo "Installed $sw_name"
+ echo " : ${pkg_name}"
+ fi
+ done
+
+ return ${find_flag}
+}
+
+##### Package function
+
+# For 3D graphics packages
+func_gfx()
+{
+ echo ""
+ echo "Copying for Graphic Packages"
+
+ copy_flag=0
+
+ for i in ${_gfx_list}
+ do
+ user_pkg_name=`echo $i | cut -d "," -f 1`
+ user_copyfile_name=`echo $i | cut -d "," -f 2`
+ user_md5_val=`eval echo '$_MD5_'${user_pkg_name}`
+ kern_pkg_name=`echo $i | cut -d "," -f 3`
+ kern_copyfile_name=`echo $i | cut -d "," -f 4`
+ kern_md5_val=`eval echo '$_MD5_'${kern_pkg_name}`
+
+ if [ -n "${_debug}" ]; then
+ echo ""
+ echo "user_pkg_name = ${user_pkg_name}"
+ echo "user_copyfile_name= ${user_copyfile_name}"
+ echo "user_md5_val = ${user_md5_val}"
+ echo "kern_pkg_name = ${kern_pkg_name}"
+ echo "kern_copyfile_name= ${kern_copyfile_name}"
+ echo "kern_md5_val = ${kern_md5_val}"
+ fi
+
+ # user module (file1)
+ func_search_and_md5check "${user_pkg_name}" "${user_copyfile_name}" "${user_md5_val}" "${_src_full}"
+
+ if [ -z "${_find_filename}" ]; then
+ echo "${user_pkg_name} not found!"
+ continue
+ fi
+
+ file1_top_dir=${_extract_top_dir_name}
+ echo "file1 top : ${file1_top_dir}"
+
+ # kernel module (file2)
+ func_search_and_md5check "${kern_pkg_name}" "${kern_copyfile_name}" "${kern_md5_val}" "${_src_full}"
+
+ # file1 exist, but file2 not exist
+ if [ -z "${_find_filename}" ]; then
+ func_error "ERROR: func_gfx: package file for Graphic is incomplete."
+ fi
+
+ file2_top_dir=${_extract_top_dir_name}
+ echo "file2 top : ${file2_top_dir}"
+
+ # Finally copy is performed
+ copy_flag=1
+ install -d ${_GFX_UM_INST_DIR}
+ install -m 0644 ${file1_top_dir}/${user_pkg_name}/Software/${user_copyfile_name} ${_GFX_UM_INST_DIR}/${user_copyfile_name##INF_}
+ install -d ${_GFX_KM_INST_DIR}
+ install -m 0644 ${file2_top_dir}/${kern_pkg_name}/Software/${kern_copyfile_name} ${_GFX_KM_INST_DIR}
+ echo "Installed GFX package"
+ echo " : ${user_pkg_name}"
+ echo " : ${kern_pkg_name}"
+ echo ""
+ done
+
+ if [ ${copy_flag} -eq 0 ]; then
+ return
+ fi
+
+ echo ""
+ echo "Packages for GFX module were found and copied."
+ echo /=======================================================/
+}
+
+##### For Multi Media
+
+# For Audio library copy
+#
+# Global
+# _audio_list: audio library list
+# Return
+# 0: Not found
+# 1: Success
+func_audio_lib()
+{
+ # MD5 check: OMX Media Component Audio Common Library for Linux
+ func_list_search_and_md5check "${_audio_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "Audio Common Library not found!"
+ echo ""
+ return 0
+ fi
+
+ # MD5 check: audio library.
+ func_list_search_and_md5check "${_audio_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "Audio library not found."
+ return 0
+ fi
+
+ # Add audio common library to list
+ _audio_list="${_audio_common_list} ${_audio_list}"
+
+ # Install omx common lib (if not installed)
+ func_install_omx_common
+
+ # Install Audio library packages
+ func_list_search_and_install_wo_md5check "${_audio_list}" "${_OMX_UM_INST_DIR}"
+ _audio_common_install=1
+
+ return 1
+}
+
+# For Audio library
+func_audio()
+{
+ echo ""
+ echo "Copying for Audio Common Packages"
+
+ _audio_common_install=0
+
+ # Audio requires OMX common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # Audio Library
+ func_audio_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Audio Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for Audio module were found and copied."
+ echo /=======================================================/
+}
+
+# For Audio M/W
+# Global
+# _audio_mw_list: audio M/W library list
+# Return
+# 0: Not found
+# 1: Success
+func_audio_mw()
+{
+ echo ""
+ echo "Copying for Audio M/W Packages"
+
+ # MD5 check
+ func_list_search_and_md5check "${_audio_mw_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "Packages for Audio M/W module were not found."
+ return 0
+ fi
+
+ # Install Audio M/W library packages
+ func_list_search_and_install_wo_md5check "${_audio_mw_list}" "${_OMX_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for Audio M/W module were found and copied."
+ echo /=======================================================/
+
+ return 1
+}
+
+# install OMX common library
+func_install_omx_common()
+{
+ if [ ${_omx_common_install} -eq 0 ]; then
+ echo ""
+ echo "Install for OMX Common Packages"
+ func_list_search_and_install_wo_md5check "${_omx_common_list}" "${_OMX_UM_INST_DIR}"
+ _omx_common_install=1
+ fi
+}
+
+# install uvcs driver
+func_install_uvcs()
+{
+ if [ ${_uvcs_install} -eq 0 ]; then
+ echo ""
+ echo "Installed UVCS driver"
+ func_list_search_and_install_wo_md5check "${_uvcs_list}" "${_UVCS_INST_DIR}"
+ _uvcs_install=1
+ fi
+}
+
+# search & MD5 check for OMX Video Decoder library
+# Global
+# _video_dec_list: video decoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_decoder_lib()
+{
+ echo ""
+ echo "Copying for Video Decoder Library Packages"
+
+ # MD5 check: Decoder Common Library (rigid flag=TRUE)
+ func_list_search_and_md5check "${_video_dec_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Video Decoder Common Library not found!"
+ return 0
+ fi
+
+ # MD5 check: Video Decoder Library
+ func_list_search_and_md5check "${_video_dec_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ return 0
+ fi
+
+ # install OMX common lib (if not installed)
+ func_install_omx_common
+
+ # install UVCS driver (if not installed)
+ func_install_uvcs
+
+ # Add video decoder common lib to list
+ _video_dec_list="${_video_dec_common_list} ${_video_dec_list}"
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_video_dec_list}" "${_OMX_UM_INST_DIR}"
+ _video_decoder_common_install=1
+
+ return 1
+}
+
+# search & MD5 check for OMX Video Encoder library
+# Global
+# _video_enc_list: video encoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_encoder_lib()
+{
+ echo ""
+ echo "Copying for Video Encoder Library Packages"
+
+
+ # MD5 check Encoder Common Library (rigid flag=TRUE)
+ func_list_search_and_md5check "${_video_enc_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Video Encoder Common Library not found!"
+ return 0
+ fi
+ _video_encoder_common_install=0
+
+ # Video Encoder Library
+ # MD5 check
+ func_list_search_and_md5check "${_video_enc_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ return 0
+ fi
+
+ # install common lib (if not installed)
+ func_install_omx_common
+
+ # install UVCS driver (if not installed)
+ func_install_uvcs
+
+ # Add Video encoder common library to list
+ _video_enc_list="${_video_enc_common_list} ${_video_enc_list}"
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_video_enc_list}" "${_OMX_UM_INST_DIR}"
+ _video_encoder_common_install=1
+
+ return 1
+}
+
+# For Video decoder
+# Global
+# _video_dec_list: video decoder list
+# Return
+# 0: Not found
+# 1: Success
+func_video_decoder()
+{
+ echo ""
+ echo "Copying for Video Decoder Packages"
+
+ # OMX Common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # UVCS driver
+ if [ ${_uvcs_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_uvcs_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "UVCS driver not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "UVCS driver already installed"
+ fi
+
+ # OMX Decoder
+ # Decoder common Lib
+ func_video_decoder_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Video Decoder Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for video decoder module were found and copied."
+ echo /=======================================================/
+}
+
+# For Video encoder
+func_video_encoder()
+{
+ echo ""
+ echo "Copying for Video Encoder Packages"
+
+ # OMX Common library
+ if [ ${_omx_common_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_omx_common_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "OMX Common Library not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "OMX Common Library already installed"
+ fi
+
+ # UVCS driver
+ if [ ${_uvcs_install} -eq 0 ]; then
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_uvcs_list}" "1"
+ if [ $? -eq 0 ]; then
+ echo "UVCS driver not found!"
+ echo ""
+ return
+ fi
+ else
+ echo "UVCS driver already installed"
+ fi
+
+ # OMX Encoder
+ # Encoder common Lib
+ func_video_encoder_lib
+ if [ $? -eq 0 ]; then
+ echo ""
+ echo "Skip Video Encoder Packages"
+ echo ""
+ return
+ fi
+
+ echo ""
+ echo "Packages for video encoder module were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV kernel module
+func_dtv_kern()
+{
+ echo ""
+ echo "Copying for DTV kernel module"
+
+ _dtv_kern_install=0
+
+ func_list_search_and_md5check "${_dtv_km_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DTV kernel library not found!"
+ return
+ fi
+
+ pkg_name=`echo ${_dtv_km_list} | cut -d "," -f 2`
+ copyfile_name=`echo ${_dtv_km_list} | cut -d "," -f 3`
+
+ # extract --> archive --> copied
+ echo "Installed DTV kernel modules"
+ func_search_file_in_package "${pkg_name}" "${copyfile_name}" "${_src_full}"
+ func_cmn_extract_archive "${_extract_mode}" "${_find_filename}"
+
+ dtv_driver_list="ssp_drv scu_src_drv tsif_drv tddmac_drv"
+ for i in ${dtv_driver_list}
+ do
+ tar cfz $i.tar.gz $i
+ install -d ${_DTV_KM_INST_DIR}
+ install -m 644 $i.tar.gz ${_DTV_KM_INST_DIR}
+ echo " : $i.tar.gz"
+ done
+
+ _dtv_kern_install=1
+
+ echo ""
+ echo "DTV kernel module were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV lib
+func_dtv_lib()
+{
+ echo ""
+ echo "Copying for DTV Library Packages"
+
+ # DTV kernel modules
+ if [ ${_dtv_kern_install} -eq 0 ]; then
+ echo "DTV kernel module not found!"
+ echo "Skip DTV Package"
+ echo ""
+ return
+ fi
+
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_dtv_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DTV library not found"
+ return
+ fi
+
+ # install
+ func_list_search_and_install_wo_md5check "${_dtv_um_list}" "${_DTV_UM_INST_DIR}"
+
+ echo ""
+ echo "DTV Package were found and copied."
+ echo /=======================================================/
+}
+
+# For DVD lib
+func_dvd_lib()
+{
+ echo ""
+ echo "Copying for DVD Library Packages"
+
+ # MD5 check (rigid flag=TRUE)
+ func_list_search_and_md5check "${_dvd_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo ""
+ echo "DVD library not found"
+ return
+ fi
+
+ # install searched library
+ func_list_search_and_install_wo_md5check "${_dvd_list}" "${_DVD_UM_INST_DIR}"
+
+ echo ""
+ echo "DVD Package were found and copied."
+ echo /=======================================================/
+}
+
+# For DTV/DVD main routine
+func_dtv_dvd()
+{
+ echo ""
+ echo "Copying for DTV/DVD Packages"
+
+ # DTV/DVD requires OMX Video Decoder
+ if [ ${_video_decoder_common_install} -eq 0 ]; then
+ echo "Video Decoder Library not found!"
+ echo "Skip DTV/DVD Package"
+ echo ""
+ return
+ fi
+
+ # DTV requires Audio Decoder
+ if [ ${_audio_common_install} -eq 0 ]; then
+ echo "Audio Common Library not found!"
+ echo "Skip DTV Package"
+ echo ""
+ else
+ # DTV package
+ func_dtv_kern
+ func_dtv_lib
+ fi
+
+ # DVD package
+ func_dvd_lib
+}
+
+# For CMS main routine
+func_cms()
+{
+ echo ""
+ echo "Copying for CMS Packages"
+
+ copy_flag=0
+
+ # MD5 check
+ func_list_search_and_md5check "${_cms_list}"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip CMS package"
+ echo ""
+ return
+ fi
+
+ # Install library
+ func_list_search_and_install_wo_md5check "${_cms_list}" "${_CMS_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for CMS were found and copied."
+ echo /=======================================================/
+}
+
+# For ADSP main routine
+func_adsp()
+{
+ echo ""
+ echo "Copying for ADSP Packages"
+
+ # MD5 check (rigid flag = TRUE)
+ # In ADSP, all files are necesarry
+ func_list_search_and_md5check "${_adsp_km_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ADSP Package"
+ echo ""
+ return
+ fi
+
+ func_list_search_and_md5check "${_adsp_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ADSP Package"
+ echo ""
+ return
+ fi
+
+ # Install kernel module
+ func_list_search_and_install_wo_md5check "${_adsp_km_list}" "${_ADSP_KM_INST_DIR}"
+
+ # Install user module
+ func_list_search_and_install_wo_md5check "${_adsp_um_list}" "${_ADSP_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for ADSP were found and copied."
+ echo /=======================================================/
+}
+
+# For ICCOM main routine
+func_iccom()
+{
+ echo ""
+ echo "Copying for ICCOM Packages"
+
+ # MD5 check (rigid flag = TRUE)
+ # In ICCOM, all files are necesarry
+ func_list_search_and_md5check "${_iccom_km_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ICCOM Package"
+ echo ""
+ return
+ fi
+
+ func_list_search_and_md5check "${_iccom_um_list}" "1"
+ if [ $? -eq 0 ]; then
+ # library not found.
+ echo "Skip ICCOM Package"
+ echo ""
+ return
+ fi
+
+ # Install kernel module
+ func_list_search_and_install_wo_md5check "${_iccom_km_list}" "${_ICCOM_KM_INST_DIR}"
+
+ # Install user module
+ func_list_search_and_install_wo_md5check "${_iccom_um_list}" "${_ICCOM_UM_INST_DIR}"
+
+ echo ""
+ echo "Packages for ICCOM were found and copied."
+ echo /=======================================================/
+}
+
+################################
+# Copy Script Main routine
+################################
+echo "Copyscript for R-Car Gen3"
+echo
+#### 1) Checking current directory
+if [ ! -d meta-rcar-gen3 ]; then
+ echo "ERROR: Please extract meta-renesas and cd to it, before execute $0"
+ exit 1
+fi
+
+#### 2) Checking Arguments
+if [ "X$1" = "X" ]; then
+ usage
+ exit 1
+fi
+
+while [ $# -gt 0 ] ; do
+ case "$1" in
+ -f|--force)
+ _no_md5check=1
+ ;;
+ -d|--debug)
+ _debug=1
+ ;;
+ *)
+ _src_dirname=$(basename $1)
+ _src_path=$(cd $(dirname $1) && pwd)
+ _src_full=${_src_path}/${_src_dirname}
+ ;;
+ esac
+ shift
+done
+
+# source directory check
+if [ ! -d ${_src_path}/${_src_dirname} ]; then
+ echo "${_src_path}/${_src_dirname} not found."
+ usage
+ exit 1
+fi
+
+if [ -n "${_debug}" ]; then
+ echo "src = ${_src_dirname}"
+ echo "src_path = ${_src_path}"
+ echo "src_full = ${_src_full}"
+ echo "no_md5check = ${_no_md5check}"
+ echo ""
+fi
+
+##### 3) create temp directory
+TMPWORK=${PWD}/CP_SCRIPT_TEMP
+if [ -d ${TMPWORK} ]; then
+ echo "ERROR: Work directory already exist."
+ exit 1
+fi
+install -d -m 700 ${TMPWORK}
+cd ${TMPWORK}
+
+##### 4) copy
+# initialize flag
+_omx_common_install=0
+_uvcs_install=0
+_audio_common_install=0
+_video_decoder_common_install=0
+_video_encoder_common_install=0
+_dtv_kern_install=0
+
+func_gfx
+func_audio
+func_audio_mw
+func_video_decoder
+func_video_encoder
+func_dtv_dvd
+func_cms
+func_adsp
+func_iccom
+
+##### 5) cleanup temp directory
+func_clean_tempdir
+
+##### End
+echo "Complete copying !"
diff --git a/meta-rcar-gen3/docs/sample/copyscript/md5list.txt b/meta-rcar-gen3/docs/sample/copyscript/md5list.txt
new file mode 100644
index 0000000..dbfae35
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/copyscript/md5list.txt
@@ -0,0 +1,54 @@
+# GFX
+_MD5_RTM0RC7795GLTG0001SL40C=""
+_MD5_RCH3G001L4001ZDO=""
+_MD5_RTM0RC7796GLTG0001SL40C=""
+_MD5_RCM3G001L4001ZDO=""
+_MD5_INFRTM0RC7795GLTG0001SL40C=""
+_MD5_INFRTM0RC7796GLTG0001SL40C=""
+# OMX AUDIO
+_MD5_RTM0AC0000ADAACMZ1SL40C="633c98c3f16a17642a41961dd30bcc92"
+_MD5_RTM0AC0000XAAACD30SL40C="74704834f4c3f9fbf9c361d96d3b1780"
+_MD5_RTM0AC0000XACMND30SL40C="ae19ad064b1190735dc68e94f76e3a97"
+_MD5_RTM0AC0000ADAAPMZ1SL40C="b610a2ca5ea9f30f4506c9c7c53731f3"
+_MD5_RTM0AC0000ADMP3MZ1SL40C="0028d4cdf1454b305eeaee32111d1ed0"
+_MD5_RTM0AC0000ADWMAMZ1SL40C="91bb90b01d629a69c8d3ad2bbbca7ccc"
+_MD5_RTM0AC0000XAAAPD30SL40C="17f1542e902f4949ab9c9724fb732ec4"
+_MD5_RTM0AC0000XAMP3D30SL40C="aaa09a394eaeed9909c1bc9ba00f8878"
+_MD5_RTM0AC0000XAWMAD30SL40C="9ac2519d0770c109dcb56c27bc0fe695"
+_MD5_RTM0AC0000AEAACMZ1SL40C="8fcef3ca1e545e1b8121a92840620cf4"
+_MD5_RTM0AC0000XAAACE30SL40C="ea9e832be17b1ef9d4d2ad9b96fd7648"
+_MD5_RTM0AC0000XAALAD30SL40C="53bfe0457e134ae717379fe4a7432a15"
+_MD5_RTM0AC0000XAFLAD30SL40C="1f9a3c2c602ab097bc11b5f84e7ecb59"
+_MD5_RTM0AC0000XADD5D30SL40C="d712ce9d896db9204f62cbd65de5a7ab"
+_MD5_RTM0AC0000ADDD5MZ1SL40C=""
+# OMX VIDEO
+_MD5_RTM0AC0000XV263D30SL40C="e72807352a260458f68f3b2e49373cc2"
+_MD5_RTM0AC0000XV264D30SL40C="4a235653101c8379fda264ce4b1565b3"
+_MD5_RTM0AC0000XCMCTL30SL40C="d934d193bf886dd9c879d13867df9991"
+_MD5_RCG3VUDRL4001ZDO="9740025ea68b829ea588e968290d3bc3"
+_MD5_RTM0AC0000XVCMND30SL40C="d235e997bdc1f10b59e0a21b62443cb3"
+_MD5_RTM0AC0000XV265D30SL40C="fe220b86abf121a306175b87011c673a"
+_MD5_RTM0AC0000XVM2VD30SL40C="69058e4080112a55d1924613185a15ab"
+_MD5_RTM0AC0000XVM4VD30SL40C="b2cc6fcea12eee27e36a5e9b312418e8"
+_MD5_RTM0AC0000XVVC1D30SL40C="73c57cf89fda6d344d342b2cb9a2ff85"
+_MD5_RTM0AC0000XVCMNE30SL40C="7c64ac5d43ef8f2a1f2113d06432d91f"
+_MD5_RTM0AC0000XV264E30SL40C="d885a95300132bf2d4f58ed132342935"
+_MD5_RTM0AC0000XVDVXD30SL40C="07c96399cb5e3b1f1ef02e66ae5592f8"
+_MD5_RTM0AC0000XVRLVD30SL40C="80e016713c778df52de86299cd33296a"
+# DTV/DVD
+_MD5_RCG3T001L4001ZDO=""
+_MD5_RTM0RC0000TE020000SL40C1=""
+_MD5_RTM0RC0000TE020000SL40C2=""
+_MD5_RTM0RC0000XDVDC301SL40C=""
+# CMS
+_MD5_RTM0AC0000JRCMBCV0SL40C="7eef331486f58cd09d07e73157cc4097"
+_MD5_RTM0AC0000JRCMBLC0SL40C="11bf02bb77fd994e56e8899ad450a96e"
+_MD5_RTM0AC0000JRCMDGV0SL40C="5f85df2edb41d4f48c6fd02f8fb461cb"
+# ADSP
+_MD5_RCG3AHFWN0101ZDP="d18d2533cc56739d511b20c177f54b43"
+_MD5_RCG3AHIFL4001ZDP="100f193e8475b33865a24032e3568489"
+_MD5_RCG3AHPDL4001ZDO="14a718f7beee377f29180cfbdbe97828"
+# ICCOM
+_MD5_RCG3ZLIDL4001ZNO1="c81a9d09fbb5d38cb30bcbdc56e1e58a"
+_MD5_RCG3ZLIDL4001ZNO2="410daab0f338e4311a6e4422f770d3ee"
+_MD5_RCG3ZLILL4001ZNO="7fa20447e36c2909e87daa90c460dde4"
diff --git a/meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch b/meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch
new file mode 100644
index 0000000..c00327f
--- /dev/null
+++ b/meta-rcar-gen3/docs/sample/patch/patch-for-linaro-gcc/0001-rcar-gen3-add-readme-for-building-with-Linaro-Gcc.patch
@@ -0,0 +1,151 @@
+From 019d1f04b83db8cd4d5a9381d5ef0c90e946cd05 Mon Sep 17 00:00:00 2001
+From: Phong Man Tran <phong.tran.wh@rvc.renesas.com>
+Date: Mon, 6 Jul 2015 14:48:50 +0700
+Subject: [PATCH] rcar-gen3: add readme for building with Linaro Gcc
+
+This patch add the dependent layer information, build instructions
+for using Linaro Gcc.
+
+Updated on Dec, 2016:
+- Add H3ULCB
+- Change supported branch from jethro to krogoth
+- Change Maintainer information.
+
+Signed-off-by: Phong Man Tran <phong.tran.wh@rvc.renesas.com>
+Signed-off-by: Thao Nguyen <thao.nguyen.yb@rvc.renesas.com>
+---
+ meta-rcar-gen3/README.linaro | 122 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 122 insertions(+)
+ create mode 100644 meta-rcar-gen3/README.linaro
+
+diff --git a/meta-rcar-gen3/README.linaro b/meta-rcar-gen3/README.linaro
+new file mode 100644
+index 0000000..6542d43
+--- /dev/null
++++ b/meta-rcar-gen3/README.linaro
+@@ -0,0 +1,122 @@
++meta-rcar-gen3
++==============
++
++This layer provides that evaluation board is mounted ARM SoCs of Renesas
++Electronics, called the R-Car Generation 3. Currently, this supports
++board and the SoCs of the following:
++ - Board: Salvator-X / SoC: R8A7795 (R-Car H3), R8A7796 (R-Car M3)
++ - Board: R-Car Starter Kit premier(H3ULCB) / SoC: R8A7795
++
++Patches
++=======
++
++Please submit any patches for this layer to: takamitsu.honda.pv@renesas.com
++Please see the MAINTAINERS file for more details.
++
++Dependencies
++============
++
++This layer depends on:
++
++ URI: git://git.yoctoproject.org/poky
++ layers: meta, meta-yocto, meta-yocto-bsp
++ branch: krogoth
++
++ URI: git://git.yoctoproject.org/meta-renesas
++ layers: meta-rcar-gen3
++ branch: krogoth
++
++ URI: https://git.linaro.org/openembedded/meta-linaro.git
++ layers: meta-linaro-toolchain
++ branch: krogoth
++
++ URI: git://git.openembedded.org/meta-openembedded
++ layers: meta-oe
++ branch: krogoth
++
++Build Instructions
++==================
++
++The following instructions require a Poky installation (or equivalent).
++
++Initialize a build using the 'oe-init-build-env' script in Poky. e.g.:
++
++ $ source poky/oe-init-build-env
++
++After that, initialized configure bblayers.conf by adding meta-rcar-gen3 layer. e.g.:
++
++ BBLAYERS ?= " \
++ <path to layer>/poky/meta \
++ <path to layer>/poky/meta-yocto \
++ <path to layer>/poky/meta-yocto-bsp \
++ <path to layer>/meta-renesas/meta-rcar-gen3 \
++ <path to layer>/meta-linaro/meta-linaro-toolchain \
++ <path to layer>/meta-openembedded/meta-oe \
++ "
++
++To build a specific target BSP, configure the associated machine in local.conf:
++
++ MACHINE ??= "<supported board name>"
++
++Select the SOC
++
++ For H3: r8a7795
++ SOC_FAMILY = "r8a7795"
++
++ For M3: r8a7796
++ SOC_FAMILY = "r8a7796"
++
++Must change the package class to ipk files in local.conf:
++
++ PACKAGE_CLASSES ?= "package_ipk"
++
++Must Change the Gcc version in local.conf.
++
++ GCCVERSION="linaro-5.2"
++
++Configure for systemd init in local.conf:
++
++ DISTRO_FEATURES_append = " systemd"
++ VIRTUAL-RUNTIME_init_manager = "systemd"
++
++Build the target file system image using bitbake:
++
++ $ bitbake core-image-minimal
++
++After completing the images for the target machine will be available in the output
++directory 'tmp/deploy/images/<supported board name>'.
++
++Images generated:
++ * Image (generic Linux Kernel binary image file)
++ * Image-<machine name>.dtb (DTB for target machine)
++ * core-image-minimal-<machine name>.tar.bz2 (rootfs tar+bzip2)
++ * core-image-minimal-<machine name>.ext4 (rootfs ext4 format)
++ * core-image-minimal-<machine name>.cpio.gz (rootfs cpio+gz format)
++
++Build Instructions for SDK
++==========================
++This may be changed in the near feature. These instructions are tentative.
++
++Should define the staticdev in SDK image feature for installing the static libs
++to SDK in local.conf.
++
++ SDKIMAGE_FEATURES_append = " staticdev-pkgs"
++
++Use bitbake -c populate_sdk for generating the toolchain SDK:
++For 64-bit target SDK (aarch64):
++
++ $ bitbake core-image-minimal -c populate_sdk
++
++The SDK can be found in the output directory 'tmp/deploy/sdk'
++ * poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh
++
++Usage of toolchain SDK:
++Install the SDK to the default: /opt/poky/x.x
++(x.x is YP version, i.e. 2.1.)
++For 64-bit target SDK:
++
++ $ sh poky-glibc-x86_64-core-image-minimal-aarch64-toolchain-x.x.sh
++
++For 64-bit application use environment script in /opt/poky/x.x
++
++ $ source /opt/poky/x.x/environment-setup-aarch64-poky-linux
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/include/adsp-control.inc b/meta-rcar-gen3/include/adsp-control.inc
new file mode 100644
index 0000000..44a8d14
--- /dev/null
+++ b/meta-rcar-gen3/include/adsp-control.inc
@@ -0,0 +1,2 @@
+# USE_ADSP for Audio DSP
+USE_ADSP = "${@bb.utils.contains('DISTRO_FEATURES', 'adsp', '1', '0', d)}"
diff --git a/meta-rcar-gen3/include/avb-control.inc b/meta-rcar-gen3/include/avb-control.inc
new file mode 100644
index 0000000..6ed7f53
--- /dev/null
+++ b/meta-rcar-gen3/include/avb-control.inc
@@ -0,0 +1,2 @@
+# USE_AVB for AVB Software Package for Linux
+USE_AVB = "${@'1' if 'avb' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/cms-control.inc b/meta-rcar-gen3/include/cms-control.inc
new file mode 100644
index 0000000..2ebfa51
--- /dev/null
+++ b/meta-rcar-gen3/include/cms-control.inc
@@ -0,0 +1,18 @@
+# USE_CMSBCM for Basic Color Management Middleware for Linux
+USE_CMSBCM = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsbcm', '1', '0', d)}"
+
+# USE_CMSBLC for Backlight Control Middleware for Linux
+USE_CMSBLC = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsblc', '1', '0', d)}"
+
+# USE_CMSDGC for Dynamic Gamma Correction Middleware for Linux
+USE_CMSDGC = "${@bb.utils.contains('DISTRO_FEATURES', 'cmsdgc', '1', '0', d)}"
+
+# CMS Flag list
+LIST_CMS_FLAG = " \
+ ${USE_CMSBCM} \
+ ${USE_CMSBLC} \
+ ${USE_CMSDGC} \
+"
+
+# USE_CMS for Color Management Middleware
+USE_CMS = "${@'1' if '1' in '${LIST_CMS_FLAG}' else '0'}"
diff --git a/meta-rcar-gen3/include/dtv-dvd-control.inc b/meta-rcar-gen3/include/dtv-dvd-control.inc
new file mode 100644
index 0000000..9029dfd
--- /dev/null
+++ b/meta-rcar-gen3/include/dtv-dvd-control.inc
@@ -0,0 +1,5 @@
+# USE_DTV for ISDB-T DTV Software Package
+USE_DTV = "${@'1' if 'dtv' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_DVD for DVD Core-Middleware for Linux
+USE_DVD = "${@'1' if 'dvd' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/gles-control.inc b/meta-rcar-gen3/include/gles-control.inc
new file mode 100644
index 0000000..045caa3
--- /dev/null
+++ b/meta-rcar-gen3/include/gles-control.inc
@@ -0,0 +1,6 @@
+USE_GLES = "${@'1' if 'gsx' in '${MACHINE_FEATURES}' else '0'}"
+USE_GLES_WAYLAND = \
+ "${@'1' if '${USE_GLES}' == '1' and 'wayland' in '${DISTRO_FEATURES}' else '0'}"
+USE_WAYLAND_IVI_SHELL = \
+ "${@'1' if 'ivi-shell' in '${DISTRO_FEATURES}' and \
+ 'wayland' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/iccom-control.inc b/meta-rcar-gen3/include/iccom-control.inc
new file mode 100644
index 0000000..bb8bd2c
--- /dev/null
+++ b/meta-rcar-gen3/include/iccom-control.inc
@@ -0,0 +1,2 @@
+# USE_ICCOM for Linux ICCOM driver, Linux ICCOM library
+USE_ICCOM = "${@'1' if 'iccom' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/multimedia-control.inc b/meta-rcar-gen3/include/multimedia-control.inc
new file mode 100644
index 0000000..beeabc1
--- /dev/null
+++ b/meta-rcar-gen3/include/multimedia-control.inc
@@ -0,0 +1,9 @@
+# USE_MULTIMEDIA for Renesas Multimedia package
+USE_MULTIMEDIA = "${@'1' if 'multimedia' in '${MACHINE_FEATURES}' else '0'}"
+USE_MULTIMEDIA_TP = "${@'1' if 'mm-test' in '${DISTRO_FEATURES}' else '0'}"
+
+# For wayland
+USE_WAYLAND = "${@'1' if 'wayland' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_V4L2_RENDERER for weston v4l2-renderer
+USE_V4L2_RENDERER = "${@'1' if 'v4l2-renderer' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/omx-control.inc b/meta-rcar-gen3/include/omx-control.inc
new file mode 100644
index 0000000..6c630f8
--- /dev/null
+++ b/meta-rcar-gen3/include/omx-control.inc
@@ -0,0 +1,129 @@
+## Additional configuration in OMX module, include
+# USE_H263D_OMX for OMX Media Component H263 OMX Library
+USE_H263D_OMX = "${@'1' if 'h263dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_H264D_OMX for OMX Media Component H264 OMX Library
+USE_H264D_OMX = "${@'1' if 'h264dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_H264E_OMX for OMX Media Component H264 Encoder Library
+USE_H264E_OMX = "${@'1' if 'h264enc_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_H265D_OMX for OMX Media Component H265 OMX Library
+USE_H265D_OMX = "${@'1' if 'h265dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_MPEG2_OMX for OMX Media Component MPEG2 OMX Library
+USE_MPEG2D_OMX = "${@'1' if 'mpeg2dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_MPEG4D_OMX for OMX Media Component MPEG4 Decoder Library
+USE_MPEG4D_OMX = "${@'1' if 'mpeg4dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_VC1D_OMX for OMX Media Component VC-1 Decoder Library
+USE_VC1D_OMX = "${@'1' if 'vc1dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_DIVXD_OMX for OMX Media Component DivX Decoder Library
+USE_DIVXD_OMX = "${@'1' if 'divxdec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_RVD_OMX for OMX Media Component RealVideo Decoder Library
+USE_RVD_OMX = "${@'1' if 'rvdec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACLCD_OMX for OMX Media Component AACLC OMX Library
+USE_AACLCD_OMX = "${@'1' if 'aaclcdec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACPV2D_OMX for OMX Media Component aacPlus V2 OMX Library
+USE_AACPV2D_OMX = "${@'1' if 'aacpv2dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_MP3D_OMX for OMX Media Component MP3 OMX Library
+USE_MP3D_OMX = "${@'1' if 'mp3dec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_WMAD_OMX for OMX Media Component WMA OMX Library
+USE_WMAD_OMX = "${@'1' if 'wmadec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_ALACD_OMX for OMX Media Component ALAC decoder Library
+USE_ALACD_OMX = "${@'1' if 'alacdec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_FLACD_OMX for OMX Media Component FLAC decoder Library
+USE_FLACD_OMX = "${@'1' if 'flacdec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_DDD_OMX for OMX Media Component Dolby(R) Digital decoder Library
+USE_DDD_OMX = "${@'1' if 'dddec_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACLCE_OMX for OMX Media Component AAC-LC encoder Library
+USE_AACLCE_OMX = "${@'1' if 'aaclcenc_lib' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACLC_MDW for AACLC MDW Library
+USE_AACLC_MDW = "${@'1' if 'aaclcdec_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACPV2_MDW for aacPlus V2 MDW Library
+USE_AACPV2_MDW = "${@'1' if 'aacpv2dec_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_MP3_MDW for MP3 MDW Library
+USE_MP3_MDW = "${@'1' if 'mp3dec_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_WMA_MDW for WMA MDW Library
+USE_WMA_MDW = "${@'1' if 'wmadec_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_DD_MDW for Dolby(R) Digital MDW Library
+USE_DD_MDW = "${@'1' if 'dddec_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# USE_AACLCE_OMX for AAC-LC encoder middleware Library
+USE_AACLCE_MDW = "${@'1' if 'aaclcenc_mdw' in '${DISTRO_FEATURES}' else '0'}"
+
+# OMX Video Decoder Flag list
+LIST_OMX_VIDEO_DEC_FLAG = " \
+ ${USE_H263D_OMX} \
+ ${USE_H264D_OMX} \
+ ${USE_H265D_OMX} \
+ ${USE_MPEG2D_OMX} \
+ ${USE_MPEG4D_OMX} \
+ ${USE_VC1D_OMX} \
+ ${USE_DIVXD_OMX} \
+ ${USE_RVD_OMX} \
+"
+
+# OMX Video Encoder Flag list
+LIST_OMX_VIDEO_ENC_FLAG = " \
+ ${USE_H264E_OMX} \
+"
+
+# OMX Audio Flag list (except MDW)
+LIST_OMX_AUDIO_FLAG = " \
+ ${USE_AACLCD_OMX} \
+ ${USE_AACPV2D_OMX} \
+ ${USE_MP3D_OMX} \
+ ${USE_WMAD_OMX} \
+ ${USE_AACLCE_OMX} \
+ ${USE_ALACD_OMX} \
+ ${USE_FLACD_OMX} \
+ ${USE_DDD_OMX} \
+"
+
+# Audio M/W Flag list
+LIST_AUDIO_MDW_FLAG = " \
+ ${USE_AACLC_MDW} \
+ ${USE_AACPV2_MDW} \
+ ${USE_MP3_MDW} \
+ ${USE_WMA_MDW} \
+ ${USE_DD_MDW} \
+ ${USE_AACLCE_MDW} \
+"
+
+# USE_OMX_VIDEO_DEC for Video Decoder Common Libs
+USE_VIDEO_DEC = "${@'1' if '1' in '${LIST_OMX_VIDEO_DEC_FLAG}' else '0'}"
+
+# USE_OMX_VIDEO_DEC for Video Encoder Common Libs
+USE_VIDEO_ENC = "${@'1' if '1' in '${LIST_OMX_VIDEO_ENC_FLAG}' else '0'}"
+
+# USE_VIDEO_OMX for Enable/Disable OMX Video
+USE_VIDEO_OMX = "${@'1' if '1' in '${USE_VIDEO_DEC} ${USE_VIDEO_ENC}' else '0'}"
+
+# USE_AUDIO_OMX for Audio Common Libs
+USE_AUDIO_OMX = "${@'1' if '1' in '${LIST_OMX_AUDIO_FLAG}' else '0'}"
+
+# USE_OMX_COMMON for OMX Common Libs
+USE_OMX_COMMON = "${@'1' if '1' in '${USE_VIDEO_OMX} ${USE_AUDIO_OMX}' else '0'}"
+
+# USE_OMX_USER_MODULE for OMX User Module
+# Note) List of USE_OMX_COMMON = {USE_VIDEO_OMX} + {USE_AUDIO_OMX}
+USE_OMX_USER_MODULE = "${@'1' if '1' in '${USE_OMX_COMMON} ${LIST_AUDIO_MDW_FLAG}' else '0'}"
+
+USE_OMX_EVA_PKG = "${@'1' if 'use_eva_pkg' in '${DISTRO_FEATURES}' else '0'}"
diff --git a/meta-rcar-gen3/include/rcar-gen3-modules-common.inc b/meta-rcar-gen3/include/rcar-gen3-modules-common.inc
new file mode 100644
index 0000000..7cd0845
--- /dev/null
+++ b/meta-rcar-gen3/include/rcar-gen3-modules-common.inc
@@ -0,0 +1,9 @@
+export BUILDDIR = "${STAGING_INCDIR}/.."
+export INCSHARED = "${STAGING_INCDIR}"
+export LIBSHARED = "${STAGING_LIBDIR}"
+export KERNELSRC = "${STAGING_KERNEL_DIR}"
+export CROSS_COMPILE = "${TARGET_PREFIX}"
+export KERNELDIR = "${STAGING_KERNEL_DIR}"
+export LDFLAGS = ""
+export CP = "cp"
+require include/rcar-gen3-path-common.inc
diff --git a/meta-rcar-gen3/include/rcar-gen3-path-common.inc b/meta-rcar-gen3/include/rcar-gen3-path-common.inc
new file mode 100644
index 0000000..d01a044
--- /dev/null
+++ b/meta-rcar-gen3/include/rcar-gen3-path-common.inc
@@ -0,0 +1 @@
+export RENESAS_DATADIR = "/usr"
diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
new file mode 100644
index 0000000..11ac5ec
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb
@@ -0,0 +1,60 @@
+DESCRIPTION = "ARM Trusted Firmware"
+
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://license.md;md5=829bdeb34c1d9044f393d5a16c068371"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit deploy
+require include/multimedia-control.inc
+
+S = "${WORKDIR}/git"
+
+BRANCH = "rcar_gen3"
+SRC_URI = "git://github.com/renesas-rcar/arm-trusted-firmware.git;branch=${BRANCH}"
+SRCREV = "b330e0e1e4ecde33da7d2a1a4660391708971c3a"
+
+PV = "v1.3+renesas+git${SRCPV}"
+
+COMPATIBLE_MACHINE = "(salvator-x|ulcb)"
+PLATFORM = "rcar"
+ATFW_OPT_LOSSY = "${@base_conditional("USE_MULTIMEDIA", "1", "RCAR_LOSSY_ENABLE=1", "", d)}"
+ATFW_OPT_r8a7795 = "LSI=H3 RCAR_DRAM_SPLIT=1 ${ATFW_OPT_LOSSY}"
+ATFW_OPT_r8a7796 = "LSI=M3 RCAR_DRAM_SPLIT=2 ${ATFW_OPT_LOSSY}"
+ATFW_OPT_append_ulcb = " RCAR_GEN3_ULCB=1 PMIC_LEVEL_MODE=0"
+
+SRC_URI_append = " \
+ file://0001-Boot-Normal-World-in-EL2.patch \
+"
+
+# requires CROSS_COMPILE set by hand as there is no configure script
+export CROSS_COMPILE="${TARGET_PREFIX}"
+
+# Let the Makefile handle setting up the CFLAGS and LDFLAGS as it is a standalone application
+CFLAGS[unexport] = "1"
+LDFLAGS[unexport] = "1"
+AS[unexport] = "1"
+LD[unexport] = "1"
+
+do_compile() {
+ oe_runmake bl2 bl31 dummytool PLAT=${PLATFORM} ${ATFW_OPT}
+}
+
+# do_install() nothing
+do_install[noexec] = "1"
+
+do_deploy() {
+ # Create deploy folder
+ install -d ${DEPLOYDIR}
+
+ # Copy IPL to deploy folder
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl2/bl2.elf ${DEPLOYDIR}/bl2-${MACHINE}.elf
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl2.bin ${DEPLOYDIR}/bl2-${MACHINE}.bin
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl2.srec ${DEPLOYDIR}/bl2-${MACHINE}.srec
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl31/bl31.elf ${DEPLOYDIR}/bl31-${MACHINE}.elf
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl31.bin ${DEPLOYDIR}/bl31-${MACHINE}.bin
+ install -m 0644 ${S}/build/${PLATFORM}/release/bl31.srec ${DEPLOYDIR}/bl31-${MACHINE}.srec
+ install -m 0644 ${S}/tools/dummy_create/bootparam_sa0.srec ${DEPLOYDIR}/bootparam_sa0.srec
+ install -m 0644 ${S}/tools/dummy_create/cert_header_sa6.srec ${DEPLOYDIR}/cert_header_sa6.srec
+}
+addtask deploy before do_build after do_compile
diff --git a/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
new file mode 100644
index 0000000..6ce9c0f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
@@ -0,0 +1,28 @@
+From c97f38b09f8b7d9c57a6e6f500c6ba8f7abd9914 Mon Sep 17 00:00:00 2001
+From: Michele Paolino <m.paolino@virtualopensystems.com>
+Date: Fri, 19 May 2017 14:50:55 +0200
+Subject: [PATCH] Boot Normal World in EL2
+
+This patch configures ATF (SPSR register) to boot BL33 in EL2.
+
+Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
+---
+ plat/renesas/rcar/platform.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk
+index ef7bf0f..06bc592 100644
+--- a/plat/renesas/rcar/platform.mk
++++ b/plat/renesas/rcar/platform.mk
+@@ -186,7 +186,7 @@ $(eval $(call add_define,RCAR_DRAM_SPLIT))
+
+ # Process RCAR_BL33_EXECUTION_EL flag
+ ifndef RCAR_BL33_EXECUTION_EL
+-RCAR_BL33_EXECUTION_EL := 0
++RCAR_BL33_EXECUTION_EL := 1
+ endif
+ $(eval $(call add_define,RCAR_BL33_EXECUTION_EL))
+
+--
+2.7.4
+
diff --git a/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend b/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend
new file mode 100644
index 0000000..c30a227
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/glmark2/glmark2_git.bbappend
@@ -0,0 +1,8 @@
+PACKAGECONFIG[drm-gl] = ",,virtual/libgl libdrm libgbm"
+PACKAGECONFIG[drm-gles2] = ",,virtual/libgles2 libdrm libgbm"
+PACKAGECONFIG[wayland-gl] = ",,virtual/libgl wayland wayland-kms"
+PACKAGECONFIG[wayland-gles2] = ",,virtual/libgles2 wayland wayland-kms"
+
+PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11-gles2', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland opengl', 'wayland-gles2', '', d)} \
+"
diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch b/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch
new file mode 100644
index 0000000..39d6d31
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client/0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch
@@ -0,0 +1,57 @@
+From 4ee8c61a0b85cc605993beaa117c46c9cbbca496 Mon Sep 17 00:00:00 2001
+From: Stephen Lawrence <stephen.lawrence@renesas.com>
+Date: Wed, 26 Jul 2017 17:20:22 +0100
+Subject: [PATCH] optee-client: Respect LDFLAGS set from OE build
+
+Backport upstream fix to unify LFLAGS/LDFLAGS variable names.
+
+Fixes:
+ ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary: 'optee-client/1.1.0+renesas+gitAUTOINC+db9c64d458-r0/packages-split/optee-client/usr/bin/tee-supplicant'
+ No GNU_HASH in the elf binary: 'optee-client/1.1.0+renesas+gitAUTOINC+db9c64d458-r0/packages-split/optee-client/usr/lib/libteec.so.1.0' [ldflags]
+ ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
+ ERROR: optee-client-1.1.0+renesas+gitAUTOINC+db9c64d458-r0 do_package_qa: Function failed: do_package_qa
+
+(From meta-linaro rev: a7131d143db3b51a49c88b5293b6aadcce0538d4)
+
+Signed-off-by: Stephen Lawrence <stephen.lawrence@renesas.com>
+---
+ libteec/Makefile | 2 +-
+ tee-supplicant/Makefile | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libteec/Makefile b/libteec/Makefile
+index 9a69216..2e6ca8f 100644
+--- a/libteec/Makefile
++++ b/libteec/Makefile
+@@ -28,7 +28,7 @@ TEEC_CFLAGS := $(addprefix -I, $(TEEC_INCLUDES)) $(CFLAGS) -D_GNU_SOURCE \
+ -DDEBUGLEVEL_$(CFG_TEE_CLIENT_LOG_LEVEL) \
+ -DBINARY_PREFIX=\"TEEC\"
+
+-TEEC_LFLAGS := -lpthread
++TEEC_LFLAGS := $(LDFLAGS) -lpthread
+ TEEC_LIBRARY := $(OUT_DIR)/$(LIB_MAJ_MIN)
+
+ libteec: $(TEEC_LIBRARY)
+diff --git a/tee-supplicant/Makefile b/tee-supplicant/Makefile
+index 4f451f1..16816bb 100644
+--- a/tee-supplicant/Makefile
++++ b/tee-supplicant/Makefile
+@@ -37,13 +37,13 @@ ifeq ($(RPMB_EMU),1)
+ TEES_CFLAGS += -DRPMB_EMU=1
+ endif
+ TEES_FILE := $(OUT_DIR)/$(PACKAGE_NAME)
+-TEES_LDFLAGS := -L$(OUT_DIR)/../libteec -lteec
++TEES_LFLAGS := $(LDFLAGS) -L$(OUT_DIR)/../libteec -lteec
+
+ tee-supplicant: $(TEES_FILE)
+
+ $(TEES_FILE): $(TEES_OBJS)
+ @echo " LD $@"
+- $(VPREFIX)$(CC) -o $@ $+ $(TEES_LDFLAGS)
++ $(VPREFIX)$(CC) -o $@ $+ $(TEES_LFLAGS)
+ @echo ""
+
+ $(TEES_OBJ_DIR)/%.o: $(TEES_SRC_DIR)/%.c
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service b/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service
new file mode 100644
index 0000000..4396f9f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client/optee.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=optee services
+
+[Service]
+ExecStartPre=/sbin/modprobe -q optee_armtz
+ExecStart=/usr/bin/tee-supplicant
+ExecStop=/usr/bin/killall -s KILL tee-supplicant
+ExecStopPost=/sbin/modprobe -r optee_armtz
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb b/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb
new file mode 100644
index 0000000..f528ad5
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/optee/optee-client_git.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "OP-TEE Client"
+LICENSE = "BSD-2-Clause"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=69663ab153298557a59c67a60a743e5b"
+PR = "r0"
+PV = "1.1.0+renesas+git${SRCPV}"
+BRANCH = "master"
+SRC_URI = "git://github.com/OP-TEE/optee_client.git;branch=${BRANCH}"
+SRCREV = "db9c64d45818d146200297eaaedbd421a8b59e3a"
+
+SRC_URI += " \
+ file://optee.service \
+ file://0001-optee-client-Respect-LDFLAGS-set-from-OE-build.patch \
+"
+
+inherit systemd
+SYSTEMD_SERVICE_${PN} = "optee.service"
+
+COMPATIBLE_MACHINE = "salvator-x|h3ulcb|m3ulcb"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "RPMB_EMU=0"
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Install library
+ install -m 0755 ${S}/out/export/lib/libteec.so.1.0 ${D}/${libdir}
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -sf libteec.so.1.0 libteec.so.1
+ ln -sf libteec.so.1 libteec.so
+
+ # Install header files
+ install -m 0644 ${S}/out/export/include/* ${D}/${includedir}
+
+ # Install systemd service configure file for OP-TEE client
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}/${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/optee.service ${D}/${systemd_system_unitdir}
+ fi
+}
+
+# install the tee-supplicant for 64 bit only.
+do_install_append_aarch64 () {
+ # Create destination directory
+ install -d ${D}/${bindir}
+
+ # Install binary to bindir
+ install -m 0755 ${S}/out/export/bin/tee-supplicant ${D}/${bindir}
+}
+
+RPROVIDES_${PN} += "optee-client"
diff --git a/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb b/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb
new file mode 100644
index 0000000..bc26a46
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bb
@@ -0,0 +1,67 @@
+DESCRIPTION = "OP-TEE OS"
+
+LICENSE = "BSD-2-Clause & BSD-3-Clause"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=69663ab153298557a59c67a60a743e5b \
+ file://lib/libpng/LICENSE;md5=06a1b6fde6d93170bb72201c8000bf3d \
+ file://${WORKDIR}/git_official/LICENSE;md5=69663ab153298557a59c67a60a743e5b \
+ file://${WORKDIR}/git_official/lib/libpng/LICENSE;md5=06a1b6fde6d93170bb72201c8000bf3d \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit deploy pythonnative
+
+PV = "2.2.0+renesas+git${SRCPV}"
+
+BRANCH = "rcar_gen3"
+SRCREV_renesas = "1e959b66e877546d83b3ac7fb5d10baa4a034acc"
+SRCREV_officialgit = "c0c5d399d81a0669f5c8e3bcb20039d65649a78d"
+SRCREV_FORMAT = "renesas_officialgit"
+
+SRC_URI = " \
+ git://github.com/renesas-rcar/optee_os.git;branch=${BRANCH};name=renesas \
+ git://github.com/OP-TEE/optee_os.git;branch=master;name=officialgit;destsuffix=git_official \
+"
+
+COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb)"
+PLATFORM = "rcar"
+
+DEPENDS = "python-wand-native python-pycrypto-native"
+
+# Needed so that python-wand can find the installed imagemagick install.
+export MAGICK_HOME="${STAGING_DIR_NATIVE}${prefix}"
+
+export CROSS_COMPILE64="${TARGET_PREFIX}"
+
+# Let the Makefile handle setting up the flags as it is a standalone application
+LD[unexport] = "1"
+LDFLAGS[unexport] = "1"
+export CCcore="${CC}"
+export LDcore="${LD}"
+libdir[unexport] = "1"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_configure() {
+ cp -r ${WORKDIR}/git_official/core/lib/libtomcrypt ${B}/core/lib/.
+}
+
+do_compile() {
+ oe_runmake PLATFORM=${PLATFORM} CFG_ARM64_core=y
+}
+
+# do_install() nothing
+do_install[noexec] = "1"
+
+do_deploy() {
+ # Create deploy folder
+ install -d ${DEPLOYDIR}
+
+ # Copy TEE OS to deploy folder
+ install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.elf ${DEPLOYDIR}/tee-${MACHINE}.elf
+ install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.bin ${DEPLOYDIR}/tee-${MACHINE}.bin
+ install -m 0644 ${S}/out/arm-plat-${PLATFORM}/core/tee.srec ${DEPLOYDIR}/tee-${MACHINE}.srec
+}
+addtask deploy before do_build after do_compile
diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb b/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb
new file mode 100644
index 0000000..8fb0198
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/qos/qosif-tp-user-module.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "QOS Interface test app for R-Car Gen3"
+
+require qosif.inc
+
+DEPENDS = "qosif-user-module"
+PN = "qosif-tp-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+QOSIF_TP_DIR = "qos_if-tp-user/files/qos_if"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ cd ${S}/${QOSIF_TP_DIR}
+ oe_runmake
+}
+
+do_install() {
+ # Create destination directory
+ install -d ${D}${RENESAS_DATADIR}/bin/
+
+ # Copy user test program
+ install -m 755 ${S}/${QOSIF_TP_DIR}/qos_tp ${D}${RENESAS_DATADIR}/bin/
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dbg \
+"
+
+FILES_${PN} = "${RENESAS_DATADIR}/bin/qos_tp"
+
+FILES_${PN}-dbg = " \
+ ${RENESAS_DATADIR}/bin/.debug/* \
+"
diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb b/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb
new file mode 100644
index 0000000..c836fe3
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/qos/qosif-user-module.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "QOS Interface library for R-Car Gen3"
+
+require qosif.inc
+
+DEPENDS = "kernel-module-qos"
+PN = "qosif-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+QOSIF_LIB_DIR = "qos_if-module/files/qos_if"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ # Build shared library
+ cd ${S}/${QOSIF_LIB_DIR}/if
+ rm -rf ${S}/${QOSIF_LIB_DIR}/if/libqos.so*
+ oe_runmake
+}
+
+do_install() {
+ # Create destination directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Copy shared library
+ install -m 755 ${S}/${QOSIF_LIB_DIR}/if/libqos.so* ${D}/${libdir}/
+ cd ${D}/${libdir}/
+ ln -sf libqos.so.1.0.0 libqos.so.1
+ ln -sf libqos.so.1 libqos.so
+
+ # Install shared header file
+ install -m 644 ${S}/${QOSIF_LIB_DIR}/include/qos_public.h ${D}/${includedir}/
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+FILES_${PN} = " \
+ ${libdir}/libqos.so* \
+"
+
+INSANE_SKIP_${PN} = "dev-so"
diff --git a/meta-rcar-gen3/recipes-bsp/qos/qosif.inc b/meta-rcar-gen3/recipes-bsp/qos/qosif.inc
new file mode 100644
index 0000000..0b6cf90
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/qos/qosif.inc
@@ -0,0 +1,15 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9 \
+"
+
+require include/rcar-gen3-modules-common.inc
+
+QOSIF_LIB_URL = "git://github.com/renesas-rcar/qos_lib.git"
+BRANCH = "rcar-gen3"
+SRCREV = "84ea8d562a55d1fbd7b6acf08a498d33a92dc392"
+
+SRC_URI = "${QOSIF_LIB_URL};branch=${BRANCH}"
+
+# This module is machine specific.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc
new file mode 100644
index 0000000..1feba52
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot-common_2015.04.inc
@@ -0,0 +1,8 @@
+HOMEPAGE = "http://www.denx.de/wiki/U-Boot/WebHome"
+SECTION = "bootloaders"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6"
+PE = "1"
+
+S = "${WORKDIR}/git"
diff --git a/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb
new file mode 100644
index 0000000..c1e10d5
--- /dev/null
+++ b/meta-rcar-gen3/recipes-bsp/u-boot/u-boot_2015.04.bb
@@ -0,0 +1,29 @@
+require recipes-bsp/u-boot/u-boot-common_${PV}.inc
+require recipes-bsp/u-boot/u-boot.inc
+
+DEPENDS += "dtc-native"
+
+UBOOT_URL = "git://github.com/renesas-rcar/u-boot.git"
+BRANCH = "v2015.04/rcar-3.5.6"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=c7383a594871c03da76b3707929d2919"
+
+SRC_URI = "${UBOOT_URL};branch=${BRANCH}"
+SRCREV = "2ecffb1f4ecac39c7889e8685f0ca9ce11bb7533"
+
+PV = "v2015.04+git${SRCPV}"
+
+EXTRA_OEMAKE_append = " KCFLAGS=-fgnu89-inline"
+
+UBOOT_SREC ?= "u-boot-elf.srec"
+UBOOT_SREC_IMAGE ?= "u-boot-elf-${MACHINE}-${PV}-${PR}.srec"
+UBOOT_SREC_SYMLINK ?= "u-boot-elf-${MACHINE}.srec"
+
+do_deploy_append() {
+ install -m 644 ${B}/${UBOOT_SREC} ${DEPLOYDIR}/${UBOOT_SREC_IMAGE}
+ cd ${DEPLOYDIR}
+ rm -f ${UBOOT_SREC} ${UBOOT_SREC_SYMLINK}
+ ln -sf ${UBOOT_SREC_IMAGE} ${UBOOT_SREC_SYMLINK}
+ ln -sf ${UBOOT_SREC_IMAGE} ${UBOOT_SREC}
+}
diff --git a/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-tp-user-module.bb b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-tp-user-module.bb
new file mode 100644
index 0000000..33a2d55
--- /dev/null
+++ b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-tp-user-module.bb
@@ -0,0 +1,53 @@
+DESCRIPTION = "Linux ICCOM library test applications for Renesas R-Car Gen3"
+
+require iccom-user-module.inc
+require include/multimedia-control.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = " \
+ kernel-module-iccom-mfis \
+ iccom-user-module \
+ ${@base_conditional('USE_MULTIMEDIA', '1', 'mmngr-user-module', '', d )} \
+"
+
+export USE_MMNGR="${USE_MULTIMEDIA}"
+
+PN = "iccom-tp-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/libiccom"
+
+do_compile() {
+ cd ${S}/sample_test
+ make
+
+ cd ${S}/sample_test_fatal
+ make
+
+ cd ${S}/sample_sharedmem
+ make
+
+ cd ${S}/sample_lock
+ make
+}
+
+do_install() {
+ # Create destination directory
+ install -d ${D}${RENESAS_DATADIR}/bin
+
+ # Install test applications
+ install -m 755 ${S}/sample_test/sample_test ${D}${RENESAS_DATADIR}/bin/
+ install -m 755 ${S}/sample_test_fatal/sample_test_fatal ${D}${RENESAS_DATADIR}/bin/
+ install -m 755 ${S}/sample_sharedmem/sample_sharedmem ${D}${RENESAS_DATADIR}/bin/
+ install -m 755 ${S}/sample_lock/sample_lock ${D}${RENESAS_DATADIR}/bin/
+}
+
+FILES_${PN} = " \
+ ${RENESAS_DATADIR}/bin/sample_test \
+ ${RENESAS_DATADIR}/bin/sample_test_fatal \
+ ${RENESAS_DATADIR}/bin/sample_sharedmem \
+ ${RENESAS_DATADIR}/bin/sample_lock \
+"
+
+# Skip debug split
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.bb b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.bb
new file mode 100644
index 0000000..dc269b8
--- /dev/null
+++ b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.bb
@@ -0,0 +1,41 @@
+DESCRIPTION = "Linux ICCOM library for Renesas R-Car Gen3"
+
+require iccom-user-module.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = " \
+ kernel-module-iccom-mfis \
+"
+
+PN = "iccom-user-module"
+PR = "r0"
+
+# log output level : INFO=0 LOW=1 MED=2 HIGH=3 ERROR=4 FATAL=5 NONE=255
+# (the setting of 4 means that ERROR and FATAL log are output)
+export MEG_LEV="4"
+
+S = "${WORKDIR}/libiccom"
+B = "${S}/source"
+
+do_install() {
+ # Create destination directories
+ install -d ${D}/${libdir}
+ install -d ${D}${RENESAS_DATADIR}/include
+
+ # Install library
+ install -m 755 ${B}/libiccom.so ${D}/${libdir}/
+
+ # Install shared header file
+ install -m 644 ${S}/include/iccom_if_app.h ${D}${RENESAS_DATADIR}/include/
+}
+
+FILES_${PN} = " \
+ ${libdir}/libiccom.so \
+"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/iccom_if_app.h \
+"
+
+# Skip debug split
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.inc b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.inc
new file mode 100644
index 0000000..3cf8901
--- /dev/null
+++ b/meta-rcar-gen3/recipes-connectivity/iccom-module/iccom-user-module.inc
@@ -0,0 +1,9 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=442d4e9f738ff4d05ae6215ae20caa6c"
+
+require include/iccom-control.inc
+inherit distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "iccom"
+
+SRC_URI = "file://libiccom.tar.bz2"
diff --git a/meta-rcar-gen3/recipes-core/base-files/base-files_%.bbappend b/meta-rcar-gen3/recipes-core/base-files/base-files_%.bbappend
new file mode 100644
index 0000000..ffec1e1
--- /dev/null
+++ b/meta-rcar-gen3/recipes-core/base-files/base-files_%.bbappend
@@ -0,0 +1,5 @@
+require include/rcar-gen3-path-common.inc
+
+do_install_append () {
+ echo "export LD_LIBRARY_PATH=\"${RENESAS_DATADIR}/lib\"" >> ${D}${sysconfdir}/profile
+}
diff --git a/meta-rcar-gen3/recipes-core/images/core-image-minimal.bbappend b/meta-rcar-gen3/recipes-core/images/core-image-minimal.bbappend
new file mode 100644
index 0000000..b1bd123
--- /dev/null
+++ b/meta-rcar-gen3/recipes-core/images/core-image-minimal.bbappend
@@ -0,0 +1 @@
+require recipes-graphics/images/core-image-renesas-base.inc
diff --git a/meta-rcar-gen3/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/meta-rcar-gen3/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
new file mode 100644
index 0000000..dedfc6c
--- /dev/null
+++ b/meta-rcar-gen3/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend
@@ -0,0 +1,4 @@
+# In YP2.1.2, nativesdk-wayland is lacking.
+RDEPENDS_${PN}_append = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland nativesdk-wayland-dev', '', d)} \
+"
diff --git a/meta-rcar-gen3/recipes-core/systemd/systemd_%.bbappend b/meta-rcar-gen3/recipes-core/systemd/systemd_%.bbappend
new file mode 100644
index 0000000..f414a2b
--- /dev/null
+++ b/meta-rcar-gen3/recipes-core/systemd/systemd_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_remove = "timesyncd"
diff --git a/meta-rcar-gen3/recipes-devtools/gcc/libgcc_%.bbappend b/meta-rcar-gen3/recipes-devtools/gcc/libgcc_%.bbappend
new file mode 100644
index 0000000..cec33a6
--- /dev/null
+++ b/meta-rcar-gen3/recipes-devtools/gcc/libgcc_%.bbappend
@@ -0,0 +1 @@
+INSANE_SKIP_${PN} = "ldflags"
diff --git a/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend b/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend
new file mode 100644
index 0000000..f06b451
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend
@@ -0,0 +1,4 @@
+require include/gles-control.inc
+DEPENDS_append = " \
+ ${@'gles-user-module libgbm' if '${USE_GLES_WAYLAND}' == '1' else ''} \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch b/meta-rcar-gen3/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
new file mode 100644
index 0000000..286e548
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/drm/libdrm/fix_O_CLOEXEC_undeclared.patch
@@ -0,0 +1,24 @@
+drmdevice.c: define _GNU_SOURCE
+
+Include config.h to fix this build error with uclibc:
+
+libdrm-2.4.66/tests/drmdevice.c: In function 'main':
+libdrm-2.4.66/tests/drmdevice.c:96:60: error:
+'O_CLOEXEC' undeclared (first use in this function)
+fd = open(devices[i]->nodes[j],O_RDONLY | O_CLOEXEC, 0);
+
+Upstream-Status: Pending
+
+Signed-off-by: Maxin B. John <maxin.john@intel.com>
+---
+diff -Naur libdrm-2.4.66-orig/tests/drmdevice.c libdrm-2.4.66/tests/drmdevice.c
+--- libdrm-2.4.66-orig/tests/drmdevice.c 2016-02-23 11:34:02.054904502 +0200
++++ libdrm-2.4.66/tests/drmdevice.c 2016-02-23 11:35:34.371750383 +0200
+@@ -21,6 +21,7 @@
+ *
+ */
+
++#include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <sys/stat.h>
diff --git a/meta-rcar-gen3/recipes-graphics/drm/libdrm/installtests.patch b/meta-rcar-gen3/recipes-graphics/drm/libdrm/installtests.patch
new file mode 100644
index 0000000..30e0a61
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/drm/libdrm/installtests.patch
@@ -0,0 +1,15 @@
+tests: also install tests app
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Yu Ke <ke.yu@intel.com>
+
+Index: libdrm-2.4.66/tests/Makefile.am
+===================================================================
+--- libdrm-2.4.66.orig/tests/Makefile.am
++++ libdrm-2.4.66/tests/Makefile.am
+@@ -73,3 +73,4 @@ TESTS += \
+ endif
+
+ check_PROGRAMS += $(TESTS)
++bin_PROGRAMS = $(check_PROGRAMS)
diff --git a/meta-rcar-gen3/recipes-graphics/drm/libdrm_2.4.68.bb b/meta-rcar-gen3/recipes-graphics/drm/libdrm_2.4.68.bb
new file mode 100644
index 0000000..758f801
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/drm/libdrm_2.4.68.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Userspace interface to the kernel DRM services"
+DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
+stands for \"Direct Rendering Manager\", which is the kernel portion of the \
+\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
+accelerated OpenGL drivers."
+HOMEPAGE = "http://dri.freedesktop.org"
+SECTION = "x11/base"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
+PROVIDES = "drm"
+DEPENDS = "libpthread-stubs udev libpciaccess"
+
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.bz2 \
+ file://installtests.patch \
+ file://fix_O_CLOEXEC_undeclared.patch \
+ "
+
+SRC_URI[md5sum] = "bcc96848d969cecf28223f668eeff354"
+SRC_URI[sha256sum] = "5b4bd9a5922929bc716411cb74061fbf31b06ba36feb89bc1358a91a8d0ca9df"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF += "--disable-cairo-tests \
+ --enable-omap-experimental-api \
+ --enable-install-test-programs \
+ --disable-manpages \
+ --disable-valgrind \
+ "
+
+ALLOW_EMPTY_${PN}-drivers = "1"
+PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
+ ${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu"
+
+RRECOMMENDS_${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
+ ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu"
+
+FILES_${PN}-tests = "${bindir}/*"
+FILES_${PN}-radeon = "${libdir}/libdrm_radeon.so.*"
+FILES_${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
+FILES_${PN}-omap = "${libdir}/libdrm_omap.so.*"
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
+FILES_${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
+FILES_${PN}-kms = "${libdir}/libkms*.so.*"
+FILES_${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
+FILES_${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.*"
diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb
new file mode 100644
index 0000000..14a4c5d
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb
@@ -0,0 +1,135 @@
+require include/gles-control.inc
+require include/rcar-gen3-path-common.inc
+
+DESCRIPTION = "PowerVR GPU user module"
+LICENSE = "CLOSED"
+
+PN = "gles-user-module"
+PR = "r0"
+
+COMPATIBLE_MACHINE = "(r8a7795|r8a7796)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/rogue"
+GLES = "gsx"
+
+SRC_URI_r8a7795 = "file://r8a7795_linux_gsx_binaries_gles3.tar.bz2"
+SRC_URI_r8a7796 = "file://r8a7796_linux_gsx_binaries_gles3.tar.bz2"
+SRC_URI_append = " \
+ file://change-shell.patch \
+ file://rc.pvr.service \
+"
+
+inherit update-rc.d systemd
+
+INITSCRIPT_NAME = "pvrinit"
+INITSCRIPT_PARAMS = "start 7 5 2 . stop 62 0 1 6 ."
+SYSTEMD_SERVICE_${PN} = "rc.pvr.service"
+
+do_populate_lic[noexec] = "1"
+do_compile[noexec] = "1"
+
+#The headers of gles-user-module need headers from virtual/mesa.
+do_populate_sysroot[depends] += "virtual/mesa:do_populate_sysroot"
+
+do_install() {
+ # Install configuration files
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 644 ${S}/${sysconfdir}/powervr.ini ${D}/${sysconfdir}
+ install -m 755 ${S}/${sysconfdir}/init.d/rc.pvr ${D}/${sysconfdir}/init.d/
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 644 ${S}/${sysconfdir}/udev/rules.d/72-pvr-seat.rules ${D}/${sysconfdir}/udev/rules.d/
+
+ # Install header files
+ install -d ${D}/${includedir}/EGL
+ install -m 644 ${S}/${includedir}/EGL/*.h ${D}/${includedir}/EGL/
+ install -d ${D}/${includedir}/GLES2
+ install -m 644 ${S}/${includedir}/GLES2/*.h ${D}/${includedir}/GLES2/
+ install -d ${D}/${includedir}/GLES3
+ install -m 644 ${S}/${includedir}/GLES3/*.h ${D}/${includedir}/GLES3/
+ install -d ${D}/${includedir}/KHR
+ install -m 644 ${S}/${includedir}/KHR/khrplatform.h ${D}/${includedir}/KHR/khrplatform.h
+
+ # Install pre-builded binaries
+ install -d ${D}/${libdir}
+ install -m 755 ${S}/${libdir}/*.so ${D}/${libdir}/
+ install -d ${D}/${RENESAS_DATADIR}/bin
+ install -m 755 ${S}/usr/local/bin/dlcsrv_REL ${D}/${RENESAS_DATADIR}/bin/dlcsrv_REL
+ install -d ${D}/lib/firmware
+ install -m 644 ${S}/lib/firmware/* ${D}/lib/firmware/
+
+ # Install pkgconfig
+ install -d ${D}/${libdir}/pkgconfig
+ install -m 644 ${S}/${libdir}/pkgconfig/*.pc ${D}/${libdir}/pkgconfig/
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -s libEGL.so libEGL.so.1
+ ln -s libGLESv2.so libGLESv2.so.2
+
+ if [ "${USE_GLES_WAYLAND}" = "1" ]; then
+ # Set the "WindowSystem" parameter for wayland
+ if [ "${GLES}" = "gsx" ]; then
+ sed -i -e "s/WindowSystem=libpvrDRM_WSEGL.so/WindowSystem=libpvrWAYLAND_WSEGL.so/g" \
+ ${D}/${sysconfdir}/powervr.ini
+ fi
+ fi
+
+ # Install systemd service
+ if [ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} ]; then
+ install -d ${D}/${systemd_system_unitdir}/
+ install -m 644 ${WORKDIR}/rc.pvr.service ${D}/${systemd_system_unitdir}/
+ install -d ${D}/${exec_prefix}/bin
+ install -m 755 ${S}/${sysconfdir}/init.d/rc.pvr ${D}/${exec_prefix}/bin/pvrinit
+ fi
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-debug \
+"
+
+FILES_${PN} = " \
+ ${sysconfdir}/* \
+ ${libdir}/* \
+ /lib/firmware/rgx.fw* \
+ ${RENESAS_DATADIR}/bin/* \
+ ${exec_prefix}/bin/* \
+"
+
+FILES_${PN}-dev = " \
+ ${includedir}/* \
+ ${libdir}/pkgconfig/* \
+"
+
+PROVIDES = "virtual/libgles2"
+FILES_${PN}-debug = " \
+ ${RENESAS_DATADIR}/bin/dlcsrv_REL \
+"
+
+RPROVIDES_${PN} += " \
+ ${GLES}-user-module \
+ libgles2-mesa \
+ libgles2-mesa-dev \
+ libgles2 \
+ libgles2-dev \
+"
+
+RDEPENDS_${PN} = " \
+ kernel-module-gles \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+INSANE_SKIP_${PN} = "ldflags build-deps file-rdeps"
+INSANE_SKIP_${PN}-dev = "ldflags build-deps file-rdeps"
+INSANE_SKIP_${PN} += "arch"
+INSANE_SKIP_${PN}-dev += "arch"
+INSANE_SKIP_${PN}-dbg = "arch"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/change-shell.patch b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/change-shell.patch
new file mode 100644
index 0000000..1dd22f4
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/change-shell.patch
@@ -0,0 +1,8 @@
+--- a/etc/init.d/rc.pvr 2014-08-01 09:56:47.528824893 +0900
++++ b/etc/init.d/rc.pvr 2014-08-01 09:56:55.744827677 +0900
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ ############################################################################ ###
+ #@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
+ #@License Strictly Confidential.
diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/rc.pvr.service b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/rc.pvr.service
new file mode 100644
index 0000000..da7fc30
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module/rc.pvr.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=PowerVR consumer services
+Before=weston.service
+
+[Service]
+ExecStart=/usr/bin/pvrinit start
+ExecStop=/usr/bin/pvrinit stop
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
+RequiredBy=weston.service
diff --git a/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-base.inc b/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-base.inc
new file mode 100644
index 0000000..c1081ce
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-base.inc
@@ -0,0 +1,67 @@
+require include/iccom-control.inc
+
+# Basic packages
+IMAGE_INSTALL_append = " \
+ bash \
+ v4l-utils \
+ i2c-tools \
+"
+
+# Support secure environment
+IMAGE_INSTALL_append = " \
+ optee-linuxdriver \
+ optee-linuxdriver-armtz \
+ optee-client \
+"
+
+# Add overrides for selection 32 bit or 64 bit target
+OVERRIDES .= ":${TARGET_SYS}"
+
+# Qos user packages only supports 64bit.
+QOS_USER_PKGS = ""
+QOS_USER_PKGS_aarch64-poky-linux = " \
+ qosif-user-module \
+ qosif-tp-user-module \
+"
+
+# Installation for QoS packages
+IMAGE_INSTALL_append = " \
+ kernel-module-qos \
+ ${QOS_USER_PKGS} \
+"
+
+# Renesas Basic packages for 32bit
+BASIC_32BIT_PKGS = " \
+ lib32-coreutils \
+ lib32-libstdc++ \
+ lib32-optee-client \
+"
+
+# Installation for 32bit packages
+IMAGE_INSTALL_append = " \
+ ${@base_conditional("USE_32BIT_PKGS", "1", "${BASIC_32BIT_PKGS}", "", d)} \
+"
+
+# Kernel modules of ICCOM
+ICCOM_KERNEL_PKGS = " \
+ kernel-module-iccom-mfis \
+ kernel-module-iccom-hwspinlock-sample \
+"
+
+# User modules of ICCOM only supports 64bit
+ICCOM_USER_PKGS = ""
+ICCOM_USER_PKGS_aarch64-poky-linux = " \
+ iccom-user-module \
+ iccom-tp-user-module \
+"
+
+# ICCOM Packages
+ICCOM_PKGS = " \
+ ${ICCOM_KERNEL_PKGS} \
+ ${ICCOM_USER_PKGS} \
+"
+
+# Installation for ICCOM Packages
+IMAGE_INSTALL_append = " \
+ ${@base_conditional("USE_ICCOM", "1", " ${ICCOM_PKGS}", "", d)} \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-mmp-base.inc b/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-mmp-base.inc
new file mode 100644
index 0000000..7c85d04
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/images/core-image-renesas-mmp-base.inc
@@ -0,0 +1,96 @@
+require include/multimedia-control.inc
+require include/cms-control.inc
+require include/adsp-control.inc
+require include/dtv-dvd-control.inc
+require include/avb-control.inc
+require include/omx-control.inc
+
+# Common Multi Media Packages (MMP)
+MULTIMEDIA_PKGS = " \
+ packagegroup-multimedia-kernel-modules \
+ packagegroup-multimedia-libs \
+"
+
+# MMP test Packages
+MULTIMEDIA_TP_PKGS = " \
+ vspmif-tp-user-module \
+"
+
+# OMX MMP Packages
+OMX_MULTIMEDIA_PKGS = " \
+ omx-user-module \
+"
+
+# CMS MMP Packages
+CMS_MULTIMEDIA_PKGS = " \
+ cms-user-module \
+"
+
+# Kernel modules of DTV
+DTV_KERNEL_PKGS = " \
+ kernel-module-scu-src \
+ kernel-module-ssp \
+ kernel-module-tddmac \
+ kernel-module-tsif \
+"
+
+# DTV Packages
+DTV_PKGS = " \
+ ${DTV_KERNEL_PKGS} \
+ dtv-user-module \
+"
+
+# DVD Packages
+DVD_PKGS = " \
+ dvd-user-module \
+"
+
+# ADSP Packages
+ADSP_PKGS = " \
+ kernel-module-xtensa-hifi \
+ adsp-if-module \
+ adsp-fw-module \
+"
+
+# Kernel modules of AVB
+AVB_KERNEL_PKGS = " \
+ kernel-module-avb-streaming \
+ kernel-module-avb-mch \
+ kernel-module-avb-mse \
+"
+
+# AVB Packages
+AVB_PKGS = " \
+ ${AVB_KERNEL_PKGS} \
+ avbtool \
+ linuxptp \
+ open-avb-mrpd \
+ open-avb-gptp \
+ open-avb-maap \
+ avb-demoapps-avblauncher \
+ avb-demoapps-mrpdummy \
+ avb-demoapps-simple \
+"
+
+# Renesas MMP 32bit packages
+MMP_32BIT_PKGS = " \
+ ${@base_conditional("USE_MULTIMEDIA", "1", "lib32-packagegroup-multimedia-libs lib32-omx-user-module", "", d)} \
+ ${@base_conditional("USE_MULTIMEDIA_TP", "1", "lib32-vspmif-tp-user-module", "", d)} \
+ ${@base_conditional("USE_CMS", "1", "lib32-cms-user-module", "", d)} \
+ ${@base_conditional("USE_DTV", "1", "lib32-dtv-user-module", "", d)} \
+ ${@base_conditional("USE_DVD", "1", "lib32-dvd-user-module", "", d)} \
+ ${@base_conditional("USE_ADSP", "1", "lib32-adsp-if-module", "", d)} \
+"
+
+# Install pkg selection
+IMAGE_INSTALL_append = " \
+ ${@base_conditional("USE_MULTIMEDIA", "1", " ${MULTIMEDIA_PKGS}", "", d)} \
+ ${@base_conditional("USE_MULTIMEDIA_TP", "1", " ${MULTIMEDIA_TP_PKGS}", "", d)} \
+ ${@base_conditional("USE_OMX_USER_MODULE", "1", " ${OMX_MULTIMEDIA_PKGS}", "", d)} \
+ ${@base_conditional("USE_CMS", "1", " ${CMS_MULTIMEDIA_PKGS}", "", d)} \
+ ${@base_conditional("USE_DTV", "1", " ${DTV_PKGS}", "", d)} \
+ ${@base_conditional("USE_DVD", "1", " ${DVD_PKGS}", "", d)} \
+ ${@base_conditional("USE_ADSP", "1", " ${ADSP_PKGS}", "", d)} \
+ ${@base_conditional("USE_AVB", "1", " ${AVB_PKGS}", "", d)} \
+ ${@base_conditional("USE_32BIT_MMP", "1", " ${MMP_32BIT_PKGS}", "", d)} \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/images/core-image-weston-sdk.bb b/meta-rcar-gen3/recipes-graphics/images/core-image-weston-sdk.bb
new file mode 100644
index 0000000..fd4e6a0
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/images/core-image-weston-sdk.bb
@@ -0,0 +1,15 @@
+require recipes-graphics/images/core-image-weston.bb
+require core-image-renesas-base.inc
+require core-image-weston.inc
+
+DESCRIPTION = "Image with weston support that includes everything within \
+core-image-weston plus meta-toolchain, development headers and libraries to \
+form a standalone SDK."
+
+IMAGE_FEATURES += " \
+ dev-pkgs tools-sdk \
+ tools-debug debug-tweaks \
+ ssh-server-openssh \
+"
+
+IMAGE_INSTALL_append = " kernel-devsrc ltp"
diff --git a/meta-rcar-gen3/recipes-graphics/images/core-image-weston.bbappend b/meta-rcar-gen3/recipes-graphics/images/core-image-weston.bbappend
new file mode 100644
index 0000000..e30bc2e
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/images/core-image-weston.bbappend
@@ -0,0 +1,2 @@
+require core-image-renesas-base.inc
+require core-image-weston.inc
diff --git a/meta-rcar-gen3/recipes-graphics/images/core-image-weston.inc b/meta-rcar-gen3/recipes-graphics/images/core-image-weston.inc
new file mode 100644
index 0000000..eb4f1b8
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/images/core-image-weston.inc
@@ -0,0 +1,15 @@
+require include/gles-control.inc
+require core-image-renesas-mmp-base.inc
+
+# Gstreamer Packages
+GSTREAMER_PKGS = "packagegroup-gstreamer1.0-plugins"
+
+# Install packages for Wayland Env
+# default: Basic packages, Gstreamer packages
+# optional: GFX packages
+IMAGE_INSTALL_append = " \
+ ${GSTREAMER_PKGS} \
+ packagegroup-wayland-community \
+ packagegroup-graphics-renesas-proprietary \
+ packagegroup-graphics-renesas-wayland \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/mesa/mesa-dummy.inc b/meta-rcar-gen3/recipes-graphics/mesa/mesa-dummy.inc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/mesa/mesa-dummy.inc
diff --git a/meta-rcar-gen3/recipes-graphics/mesa/mesa-wayland.inc b/meta-rcar-gen3/recipes-graphics/mesa/mesa-wayland.inc
new file mode 100644
index 0000000..55b8c15
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/mesa/mesa-wayland.inc
@@ -0,0 +1,33 @@
+# FIXME: can not override PACKAGECONFIG.
+PACKAGECONFIG[gles] = "--enable-gles1 --disable-gles2"
+PACKAGECONFIG[egl] = "--enable-egl --with-egl-platforms=wayland"
+
+# Disable the gbm modules of mesa
+PACKAGECONFIG_remove = "gbm"
+
+# Remove the gbm and egl packages. These are provided in other recipes.
+PACKAGES_remove = " \
+ libgbm-dev libgbm \
+ libegl-mesa-dev libegl-mesa \
+ libegl-dev libegl \
+ libgles2-mesa libgles2-mesa-dev \
+"
+INSTALLED_HEADER = "src/egl/wayland/wayland-egl/wayland-egl-priv.h"
+
+do_install_append() {
+ # Remove libegl-mesa modules and headers
+ rm -f ${D}/${libdir}/libEGL.la
+ rm -f ${D}/${libdir}/libEGL.so*
+ rm -f ${D}/${libdir}/pkgconfig/egl.pc
+ rm -rf ${D}/${includedir}/EGL
+ rm -rf ${D}/${includedir}/KHR
+
+ # install required header for wayland
+ install -d ${D}/usr/include
+ install -m 644 ${S}/${INSTALLED_HEADER} ${D}/usr/include/
+}
+
+FILES_libwayland-egl-dev += " \
+ /usr/include \
+ /usr/include/*.h \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/mesa/mesa_%.bbappend b/meta-rcar-gen3/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 0000000..e1b7ad2
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1,10 @@
+require include/gles-control.inc
+
+def map_libs(d):
+ if base_conditional('USE_GLES_WAYLAND', "1", "1", "0", d) == "1":
+ return "wayland"
+
+ return "dummy"
+
+MESATARGET := "${@map_libs(d)}"
+include mesa-${MESATARGET}.inc
diff --git a/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphic-renesas.bb b/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphic-renesas.bb
new file mode 100644
index 0000000..f94d289
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphic-renesas.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Renesas package group for Weston"
+LICENSE = "CLOSED & MIT"
+
+inherit packagegroup
+require include/gles-control.inc
+
+PACKAGES = " \
+ packagegroup-wayland-community \
+ packagegroup-graphics-renesas-proprietary \
+ packagegroup-graphics-renesas-wayland \
+"
+
+PR = "r0"
+
+RDEPENDS_packagegroup-wayland-community = " \
+ wayland \
+ weston \
+ alsa-utils \
+ alsa-tools \
+ libdrm-tests \
+ libdrm-kms \
+"
+
+RDEPENDS_packagegroup-graphics-renesas-proprietary = " \
+ ${@bb.utils.contains('USE_GLES', '1', \
+ 'kernel-module-gles gles-user-module' , \
+ '', d)} \
+"
+
+DEPENDS_packagegroup-graphics-renesas-wayland = "libegl"
+
+RDEPENDS_packagegroup-graphics-renesas-wayland = " \
+ ${@bb.utils.contains('USE_GLES_WAYLAND', '1', \
+ 'libgbm libgbm-dev wayland-kms', \
+ '', d)} \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphics-libegl.bb b/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphics-libegl.bb
new file mode 100644
index 0000000..35bfd37
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/packagegroups/packagegroup-graphics-libegl.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Graphics OpenGL ES user libraries and depenencies package group"
+LICENSE = "CLOSED & MIT"
+
+DEPENDS = "gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-graphics-libegl \
+"
+
+RDEPENDS_packagegroup-graphics-libegl = " \
+ gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PROVIDES = "virtual/egl"
+RPROVIDES_${PN} += " \
+ libegl \
+ libegl1 \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb b/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb
new file mode 100644
index 0000000..0bde4ae
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/libegl.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Recipe for libegl"
+LICENSE = "CLOSED"
+
+DEPENDS = "gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PR = "r0"
+
+RDEPENDS_${PN} = " \
+ gles-user-module \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \
+"
+
+PROVIDES = "virtual/egl"
+RPROVIDES_${PN} += " \
+ libegl \
+ libegl1 \
+"
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/libgbm.bb b/meta-rcar-gen3/recipes-graphics/wayland/libgbm.bb
new file mode 100644
index 0000000..d0d1499
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/libgbm.bb
@@ -0,0 +1,35 @@
+SUMMARY = "gbm library"
+LICENSE = "MIT"
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = " \
+ file://gbm.c;beginline=4;endline=22;md5=5cdaac262c876e98e47771f11c7036b5"
+
+SRCREV = "a0c7d6c97fe1fffe45eee524060cbb12767c6461"
+SRC_URI = "git://github.com/renesas-rcar/libgbm;branch=rcar-gen3"
+
+S = "${WORKDIR}/git"
+
+COMPATIBLE_MACHINE = "(r8a7795|r8a7796)"
+DEPENDS = "wayland-kms"
+
+inherit autotools pkgconfig
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = " \
+ ${libdir}/libgbm.so.* \
+ ${libdir}/gbm/libgbm_kms.so.* \
+ ${libdir}/gbm/*.so \
+ ${libdir}/*.so \
+"
+FILES_${PN}-dev += "${libdir}/gbm/*.la"
+FILES_${PN}-dbg += "${libdir}/gbm/.debug/*"
+FILES_${PN}-staticdev += "${libdir}/gbm/*.a"
+
+INSANE_SKIP_${PN} += "dev-so"
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb
new file mode 100644
index 0000000..e50cac0
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "KMS library for Wayland"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = " \
+ file://wayland-kms.c;beginline=6;endline=24;md5=5cdaac262c876e98e47771f11c7036b5"
+
+PV_append = "+git${SRCREV}"
+
+SRCREV = "15184e5bd3701938a6b30b8f03b471477fc742e8"
+SRC_URI = "git://github.com/renesas-rcar/wayland-kms.git;branch=rcar-gen3"
+
+COMPATIBLE_MACHINE = "(r8a7795|r8a7796)"
+S = "${WORKDIR}/git"
+DEPENDS = "libdrm wayland gles-user-module wayland-native"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "${libdir}/libwayland-kms.so.*"
+FILES_${PN}-dev = " \
+ ${libdir}/libwayland-kms.la \
+ ${libdir}/libwayland-kms.so \
+ ${libdir}/pkgconfig/* \
+ ${includedir}/* \
+"
+FILES_${PN}-staticdev += "${libdir}/libwayland-kms.a"
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend b/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 0000000..2886bae
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1,16 @@
+require include/gles-control.inc
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " \
+ file://weston.service \
+"
+
+do_install_append() {
+ if [ "X${USE_GLES}" = "X1" ]; then
+ sed -e "/RequiresMountsFor=\/run/a Wants=rc.pvr.service" \
+ -e "/RequiresMountsFor=\/run/a After=rc.pvr.service" \
+ -e "s/\$OPTARGS/--idle-time=0 \$OPTARGS/" \
+ -i ${D}/${systemd_system_unitdir}/weston.service
+ fi
+}
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston-init/weston.service b/meta-rcar-gen3/recipes-graphics/wayland/weston-init/weston.service
new file mode 100644
index 0000000..79afa67
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/weston-init/weston.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Weston Wayland Compositor
+RequiresMountsFor=/run
+After=dbus.service rc.pvr.service
+
+[Service]
+User=root
+EnvironmentFile=-/etc/default/weston
+ExecStart=/usr/bin/weston-launch -u root -- $OPTARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston.inc b/meta-rcar-gen3/recipes-graphics/wayland/weston.inc
new file mode 100644
index 0000000..e475aea
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/weston.inc
@@ -0,0 +1,16 @@
+require include/gles-control.inc
+require include/multimedia-control.inc
+
+PACKAGECONFIG_remove_virtclass-multilib-lib32 = "launch"
+DEPENDS_append = " \
+ ${@base_conditional('USE_GLES', '1', ' libgbm', '', d)}"
+
+RDEPENDS_${PN}_append = " \
+ ${@base_conditional('USE_GLES', '1', ' libgbm', '', d)} \
+"
+RDEPENDS_${PN}-examples_append = " \
+ ${@base_conditional('USE_GLES', '1', ' libgbm', '', d)}"
+
+EXTRA_OECONF_append = " \
+ ${@base_conditional('USE_GLES', '1', '', \
+ ' WESTON_NATIVE_BACKEND="fbdev-backend.so"', d)}"
diff --git a/meta-rcar-gen3/recipes-graphics/wayland/weston_2.%.bbappend b/meta-rcar-gen3/recipes-graphics/wayland/weston_2.%.bbappend
new file mode 100644
index 0000000..34ea2c9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/wayland/weston_2.%.bbappend
@@ -0,0 +1 @@
+require weston.inc
diff --git a/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
new file mode 100644
index 0000000..918407d
--- /dev/null
+++ b/meta-rcar-gen3/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_remove = "glamor"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-adsp/kernel-module-xtensa-hifi.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-adsp/kernel-module-xtensa-hifi.bb
new file mode 100644
index 0000000..6d659ed
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-adsp/kernel-module-xtensa-hifi.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "ADSP Driver for Linux"
+LICENSE = "GPLv2 & MIT"
+
+LIC_FILES_CHKSUM = " \
+ file://COPYING;md5=55979d94ccbb973fdea772250e0c54d6 \
+ file://MIT-COPYING;md5=f932f6ad0feea4f97b6e8316e172070e \
+"
+
+require include/adsp-control.inc
+inherit module
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/xtensa-hifi:"
+
+SRC_URI = "${@base_conditional('USE_ADSP', '1', 'file://RCG3AHPDL4001ZDO.tar.gz', '', d)}"
+
+S = "${WORKDIR}/RCG3AHPDL4001ZDO"
+
+# Define the extra config for using module.bbclass to build ADSP driver
+EXTRA_OEMAKE_append = " KDIR=${STAGING_KERNEL_DIR}"
+
+do_install_append(){
+ # Create install directories
+ install -d ${D}/${includedir}
+ install -d ${D}/${includedir}/sys/xt-shmem
+
+ # Install shared header files
+ install -m 644 ${S}/include/*.h ${D}/${includedir}/
+ install -m 644 ${S}/include/sys/xt-shmem/*.h ${D}/${includedir}/sys/xt-shmem/
+}
+
+# The ADSP driver need adsp firmware for running
+RDEPENDS_${PN}_append = " adsp-fw-module"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mch.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mch.bb
new file mode 100644
index 0000000..fb0e4cd
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mch.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "AVB MCH Driver for Linux for the R-Car Gen3"
+
+require include/avb-control.inc
+require include/rcar-gen3-modules-common.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=96e553279b3fff0d6168dafe0b596197 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+
+REQUIRED_DISTRO_FEATURES = "avb"
+
+SRC_URI = "git://github.com/renesas-rcar/avb-mch.git;branch=rcar-gen3"
+SRCREV = "440092412e5e100700c4a9ec36655ed38174b5dd"
+
+S = "${WORKDIR}/git"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ # Create destination directories
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/ravb_mch.h ${KERNELSRC}/include
+
+ # Install shared header files to ${includedir}
+ install -m 644 ${S}/ravb_mch.h ${D}/${includedir}
+}
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mse.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mse.bb
new file mode 100644
index 0000000..a3054b2
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-mse.bb
@@ -0,0 +1,38 @@
+DESCRIPTION = "AVB MSE Driver for Linux for the R-Car Gen3"
+
+require include/avb-control.inc
+require include/rcar-gen3-modules-common.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=98449101c5d5452a9429b88d6ead1ba4 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas kernel-module-avb-streaming kernel-module-avb-mch"
+
+REQUIRED_DISTRO_FEATURES = "avb"
+
+SRC_URI = "git://github.com/renesas-rcar/avb-mse.git;branch=rcar-gen3"
+SRCREV = "283ef1ed8f17167be4ec6906c0a45b206caf9f7a"
+
+S = "${WORKDIR}/git"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ # Create destination directories
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/ravb_mse.h ${KERNELSRC}/include
+ install -m 644 ${S}/ravb_mse_kernel.h ${KERNELSRC}/include
+
+ # Install shared header files to ${includedir}
+ install -m 644 ${S}/ravb_mse.h ${D}/${includedir}
+ install -m 644 ${S}/ravb_mse_kernel.h ${D}/${includedir}
+}
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-streaming.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-streaming.bb
new file mode 100644
index 0000000..5f1f0df
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-avb/kernel-module-avb-streaming.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = "AVB Streaming Driver for Linux for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/avb-control.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=704e38c3a28fde2e7fa153d3e0e787a4 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+
+REQUIRED_DISTRO_FEATURES = "avb"
+
+SRC_URI = "git://github.com/renesas-rcar/avb-streaming.git;branch=rcar-gen3"
+SRCREV = "a573d90f0467bfe1e2fc06fc0790fd71d4840488"
+
+S = "${WORKDIR}/git"
+
+includedir="${RENESAS_DATADIR}/include"
+
+do_install_append () {
+ # Create destination directories
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/ravb_eavb.h ${KERNELSRC}/include
+
+ # Install shared header files to ${includedir}
+ install -m 644 ${S}/ravb_eavb.h ${D}/${includedir}
+}
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-scu-src.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-scu-src.bb
new file mode 100644
index 0000000..e96799f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-scu-src.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "DTV Driver part of scu_src for Linux for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://scu_src_drv/include/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://scu_src_drv/include/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-scu-src"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI = "file://scu_src_drv.tar.gz"
+
+S = "${WORKDIR}"
+
+EXTRA_OEMAKE_r8a7795 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_H3"
+EXTRA_OEMAKE_r8a7796 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_M3"
+
+do_compile() {
+ cd ${S}/scu_src_drv/drv
+ oe_runmake
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+
+ # Install kernel module
+ install -m 644 ${S}/scu_src_drv/drv/scu_src_drv.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/scu_src_drv/include/*.h ${KERNELSRC}/include
+ install -m 644 ${S}/scu_src_drv/drv/Module.symvers ${KERNELSRC}/include/scu-drv.symvers
+}
+
+PACKAGES = "\
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/scu_src_drv.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-scu-src kernel-module-scu-src-drv"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-ssp.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-ssp.bb
new file mode 100644
index 0000000..e51c3a0
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-ssp.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "DTV Driver part of ssp for Linux for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://ssp_drv/include/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://ssp_drv/include/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-ssp"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI = "file://ssp_drv.tar.gz"
+
+S = "${WORKDIR}"
+
+EXTRA_OEMAKE_r8a7795 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_H3"
+EXTRA_OEMAKE_r8a7796 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_M3"
+
+do_compile() {
+ cd ${S}/ssp_drv/drv
+ oe_runmake
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+
+ # Install kernel module
+ install -m 644 ${S}/ssp_drv/drv/ssp_dev.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/ssp_drv/include/*.h ${KERNELSRC}/include
+ install -m 644 ${S}/ssp_drv/drv/Module.symvers ${KERNELSRC}/include/ssp_drv.symvers
+}
+
+PACKAGES = "\
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/ssp_dev.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-ssp"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tddmac.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tddmac.bb
new file mode 100644
index 0000000..b2533fb
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tddmac.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "DTV Driver part of tddmac for Linux for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://tddmac_drv/include/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://tddmac_drv/include/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-tddmac"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI = "file://tddmac_drv.tar.gz"
+
+S = "${WORKDIR}"
+
+EXTRA_OEMAKE_r8a7795 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_H3"
+EXTRA_OEMAKE_r8a7796 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_M3"
+
+do_compile() {
+ cd ${S}/tddmac_drv/drv
+ oe_runmake
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+
+ # Install kernel module
+ install -m 644 ${S}/tddmac_drv/drv/tddmac.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/tddmac_drv/include/*.h ${KERNELSRC}/include
+ install -m 644 ${S}/tddmac_drv/drv/Module.symvers ${KERNELSRC}/include/tddmac_drv.symvers
+}
+
+PACKAGES = "\
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/tddmac.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-tddmac"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tsif.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tsif.bb
new file mode 100644
index 0000000..c0b77f9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-dtv/kernel-module-tsif.bb
@@ -0,0 +1,54 @@
+DESCRIPTION = "DTV Driver part of tsif for Linux for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://tsif_drv/include/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://tsif_drv/include/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+"
+
+inherit module distro_features_check
+
+PN = "kernel-module-tsif"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI = "file://tsif_drv.tar.gz"
+
+S = "${WORKDIR}"
+
+EXTRA_OEMAKE_r8a7795 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_H3"
+EXTRA_OEMAKE_r8a7796 += "DTV_MAKE_HW_SWITCH=HW_SUPPORT_M3"
+
+do_compile() {
+ cd ${S}/tsif_drv/drv
+ oe_runmake
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+
+ # Install kernel module
+ install -m 644 ${S}/tsif_drv/drv/tsif_drv.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR).
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/tsif_drv/include/*.h ${KERNELSRC}/include
+ install -m 644 ${S}/tsif_drv/drv/Module.symvers ${KERNELSRC}/include/tsif_drv.symvers
+}
+
+PACKAGES = "\
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/tsif_drv.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-tsif kernel-module-tsif-drv"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
new file mode 100644
index 0000000..6e1ead9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "Kernel module of PowerVR GPU"
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e \
+ file://MIT-COPYING;md5=8c2810fa6bfdc5ae5c15a0c1ade34054 \
+"
+inherit module
+PN = "kernel-module-gles"
+PR = "r0"
+
+COMPATIBLE_MACHINE = "(r8a7795|r8a7796)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI_r8a7795 = 'file://GSX_KM_H3.tar.bz2'
+SRC_URI_r8a7796 = 'file://GSX_KM_M3.tar.bz2'
+S = "${WORKDIR}/rogue_km"
+
+KBUILD_DIR_r8a7795 = "${S}/build/linux/r8a7795_linux"
+KBUILD_DIR_r8a7796 = "${S}/build/linux/r8a7796_linux"
+KBUILD_OUTDIR_r8a7795 = "binary_r8a7795_linux_release/target_aarch64/kbuild/"
+KBUILD_OUTDIR_r8a7796 = "binary_r8a7796_linux_release/target_aarch64/kbuild/"
+
+B = "${KBUILD_DIR}"
+
+EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR}"
+EXTRA_OEMAKE += "CROSS_COMPILE=${CROSS_COMPILE}"
+
+module_do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ cd ${KBUILD_DIR}
+ oe_runmake
+}
+
+module_do_install() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ install -d ${D}/lib/modules/${KERNEL_VERSION}
+ cd ${KBUILD_DIR}
+ oe_runmake DISCIMAGE="${D}" install
+}
+
+# Ship the module symbol file to kerenel build dir
+SYSROOT_PREPROCESS_FUNCS = "module_sysroot_symbol"
+
+module_sysroot_symbol() {
+ install -m 644 ${S}/${KBUILD_OUTDIR}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/GLES.symvers
+}
+
+# Clean up the module symbol file
+CLEANFUNCS = "module_clean_symbol"
+
+module_clean_symbol() {
+ rm -f ${STAGING_KERNEL_BUILDDIR}/GLES.symvers
+}
+
+RPROVIDES_${PN} += " \
+ ${PN}-${KERNEL_VERSION} \
+ kernel-module-pvrsrvkm \
+ kernel-module-dc-linuxfb \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-hwspinlock-sample.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-hwspinlock-sample.bb
new file mode 100644
index 0000000..c088e0f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-hwspinlock-sample.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "Linux ICCOM hwspinlock Sample Driver for Renesas R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/iccom-control.inc
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-iccom-hwspinlock-sample"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "iccom"
+
+SRC_URI = "file://iccom-hwspinlock-sample.tar.bz2"
+
+S = "${WORKDIR}/iccom-hwspinlock-sample"
+B = "${S}/iccom-hwspinlock-sample"
+
+do_install () {
+ # Create destination directory
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install kernel module
+ install -m 644 ${B}/iccom_hwspinlock_sample.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+}
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/iccom_hwspinlock_sample.ko \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-mfis.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-mfis.bb
new file mode 100644
index 0000000..b2132ad
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-iccom/kernel-module-iccom-mfis.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Linux ICCOM MFIS Driver for Renesas R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+require include/iccom-control.inc
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit module distro_features_check
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-iccom-mfis"
+PR = "r0"
+
+REQUIRED_DISTRO_FEATURES = "iccom"
+
+SRC_URI = "file://iccom-mfis.tar.bz2"
+
+S = "${WORKDIR}/iccom-mfis"
+B = "${S}/iccom-mfis/drv"
+
+do_install () {
+ # Create destination directory
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install kernel module
+ install -m 644 ${B}/iccom_mfis.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+}
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/iccom_mfis.ko \
+"
+
+# Autoload ICCOM MFIS Driver
+KERNEL_MODULE_AUTOLOAD = "iccom_mfis"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bb
new file mode 100644
index 0000000..d12f6f2
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bb
@@ -0,0 +1,73 @@
+DESCRIPTION = "Memory Manager Kernel module for Renesas R-Car Gen3"
+
+require mmngr_drv.inc
+require include/dtv-dvd-control.inc
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-mmngr"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+MMNGR_DRV_DIR = "mmngr_drv/mmngr/mmngr-module/files/mmngr"
+
+MMNGR_CFG_salvator-x = "MMNGR_SALVATORX"
+MMNGR_CFG_h3ulcb = "MMNGR_SALVATORX"
+MMNGR_CFG_m3ulcb = "MMNGR_SALVATORX"
+
+includedir="${RENESAS_DATADIR}/include"
+SSTATE_DUPWHITELIST += "${STAGING_INCDIR}"
+
+do_compile() {
+ export MMNGR_CONFIG=${MMNGR_CFG}
+
+ if [ "X${USE_DTV}" = "X1" ]; then
+ export MMNGR_SSP_CONFIG="MMNGR_SSP_ENABLE"
+ else
+ export MMNGR_SSP_CONFIG="MMNGR_SSP_DISABLE"
+ fi
+
+ export MMNGR_IPMMU_MMU_CONFIG="IPMMU_MMU_DISABLE"
+
+ cd ${S}/${MMNGR_DRV_DIR}/drv
+ install -d ${INCSHARED}
+ make all
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/drv/Module.symvers ${KERNELSRC}/include/mmngr.symvers
+
+ # Install kernel module
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/drv/mmngr.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR)
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_public.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_private.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_public_cmn.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_private_cmn.h ${KERNELSRC}/include/
+
+ # Install shared header file to ${includedir}
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_public_cmn.h ${D}/${includedir}/
+ install -m 644 ${S}/${MMNGR_DRV_DIR}/include/mmngr_private_cmn.h ${D}/${includedir}/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/mmngr.ko \
+"
+
+RPROVIDES_${PN} += " \
+ kernel-module-mmngr \
+ ${PN}-${KERNEL_VERSION} \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bb
new file mode 100644
index 0000000..bdbf768
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "Memory Manager Buffer Kernel module for Renesas R-Car Gen3"
+
+require mmngr_drv.inc
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-mmngrbuf"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+MMNGRBUF_DRV_DIR = "mmngr_drv/mmngrbuf/mmngrbuf-module/files/mmngrbuf"
+
+includedir="${RENESAS_DATADIR}/include"
+SSTATE_DUPWHITELIST += "${STAGING_INCDIR}"
+
+do_compile() {
+ cd ${S}/${MMNGRBUF_DRV_DIR}/drv
+ install -d ${INCSHARED}
+ make all
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${MMNGRBUF_DRV_DIR}/drv/Module.symvers ${KERNELSRC}/include/mmngrbuf.symvers
+
+ # Install kernel module
+ install -m 644 ${S}/${MMNGRBUF_DRV_DIR}/drv/mmngrbuf.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR)
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${MMNGRBUF_DRV_DIR}/include/mmngr_buf_private.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${MMNGRBUF_DRV_DIR}/include/mmngr_buf_private_cmn.h ${KERNELSRC}/include/
+
+ # Install shared header files to ${includedir}
+ install -m 644 ${S}/${MMNGRBUF_DRV_DIR}/include/mmngr_buf_private_cmn.h ${D}/${includedir}/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/mmngrbuf.ko \
+"
+
+RPROVIDES_${PN} += " \
+ kernel-module-mmngrbuf \
+ kernel-module-mmngrbuf-${KERNEL_VERSION} \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/mmngr_drv.inc b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/mmngr_drv.inc
new file mode 100644
index 0000000..cb16d28
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/mmngr_drv.inc
@@ -0,0 +1,13 @@
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=192063521ce782a445a3c9f99a8ad560 \
+"
+
+require include/rcar-gen3-modules-common.inc
+inherit module
+
+MMNGR_DRV_URI = "git://github.com/renesas-rcar/mmngr_drv.git"
+
+SRC_URI = "${MMNGR_DRV_URI};branch=rcar_gen3"
+SRCREV = "f313b1716a6eb276adc5ec7b3db90ec191b65160"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-qos/kernel-module-qos.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-qos/kernel-module-qos.bb
new file mode 100644
index 0000000..2c9a973
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-qos/kernel-module-qos.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "QoS driver for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=192063521ce782a445a3c9f99a8ad560 \
+"
+
+inherit module
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-qos"
+PR = "r0"
+
+QOS_DRV_URL = "git://github.com/renesas-rcar/qos_drv.git"
+BRANCH = "rcar-gen3"
+SRCREV = "720258efc7e36f5652011d9052b2fd89fe725e5f"
+
+SRC_URI = "${QOS_DRV_URL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+QOS_DRV_DIR = "qos-module/files/qos/drv"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ cd ${S}/${QOS_DRV_DIR}/
+ oe_runmake
+}
+
+do_install () {
+ # Create destination directries
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${D}/${includedir}
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${QOS_DRV_DIR}/Module.symvers ${KERNELSRC}/include/qos.symvers
+
+ # Install kernel module
+ install -m 644 ${S}/${QOS_DRV_DIR}/qos.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files
+ install -m 644 ${S}/${QOS_DRV_DIR}/qos.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${QOS_DRV_DIR}/qos_public_common.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${QOS_DRV_DIR}/qos_public_common.h ${D}/${includedir}/
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/qos.ko \
+"
+
+RPROVIDES_${PN} += "${PN}-${KERNEL_VERSION}"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bb
new file mode 100644
index 0000000..b12c1de
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bb
@@ -0,0 +1,65 @@
+DESCRIPTION = "Kernel module of UVCS"
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://include/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/lkm/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/core/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://src/cmn/GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://include/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+ file://src/lkm/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+ file://src/core/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+ file://src/cmn/MIT-COPYING;md5=fea016ce2bdf2ec10080f69e9381d378 \
+"
+require include/omx-control.inc
+require include/rcar-gen3-path-common.inc
+
+inherit module
+PR = "r0"
+
+UVCS_SRC = "${@base_conditional('USE_VIDEO_OMX', '1', 'file://RCG3VUDRL4001ZDO.tar.bz2', '', d)}"
+SRC_URI = "${UVCS_SRC}"
+S = "${WORKDIR}/RCG3VUDRL4001ZDO"
+
+EXTRA_OEMAKE = "KERNELDIR=${STAGING_KERNEL_BUILDDIR}"
+EXTRA_OEMAKE += "CROSS_COMPILE=${CROSS_COMPILE}"
+
+B="${S}/src/makefile"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile_prepend() {
+ export UVCS_SRC="${S}/src"
+ export UVCS_INC="${S}"
+ export VCP4_SRC="${S}/src"
+}
+
+do_install() {
+ # Create destination directory
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${D}/${includedir}/
+
+ # Install kernel module
+ install -m 644 ${B}/uvcs_drv.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install module symbol file
+ install -m 644 ${B}/Module.symvers ${STAGING_KERNEL_BUILDDIR}/UVCS.symvers
+
+ # Install shared header file
+ install -m 644 ${S}/include/uvcs_ioctl.h ${D}/${includedir}/
+}
+
+# Clean up the module symbol file
+CLEANFUNCS = "module_clean_symbol"
+
+module_clean_symbol() {
+ rm -f ${STAGING_KERNEL_BUILDDIR}/UVCS.symvers
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-sstate \
+"
+
+FILES_${PN}-sstate = " \
+ ${includedir}/uvcs_ioctl.h \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bb
new file mode 100644
index 0000000..7e3a18d
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bb
@@ -0,0 +1,59 @@
+DESCRIPTION = "VSP2Driver for the R-Car Gen3"
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=192063521ce782a445a3c9f99a8ad560 \
+"
+
+require include/rcar-gen3-modules-common.inc
+
+inherit module
+
+DEPENDS = "linux-renesas kernel-module-vspm"
+PN = "kernel-module-vsp2driver"
+PR = "r0"
+
+VSP2DRIVER_URL = " \
+ git://github.com/renesas-rcar/vsp2driver.git"
+BRANCH = "rcar-gen3"
+SRCREV = "f088f6d323c81f9c8002026f95495b941f6bedc1"
+
+SRC_URI = "${VSP2DRIVER_URL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+
+do_compile() {
+ cd ${S}/vsp2driver
+ make all
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/vsp2driver/Module.symvers ${KERNELSRC}/include/vsp2.symvers
+
+ # Copy kernel module
+ install -m 644 ${S}/vsp2driver/vsp2.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR)
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/vsp2driver/linux/vsp2.h ${KERNELSRC}/include/
+}
+
+PACKAGES = "\
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/vsp2.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-vsp2driver kernel-module-vsp2"
+
+# Autoload VSP2Driver
+KERNEL_MODULE_AUTOLOAD = "vsp2"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bb
new file mode 100644
index 0000000..1b31cfc
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bb
@@ -0,0 +1,86 @@
+DESCRIPTION = "VSP Manager for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=0ebf15a927e436cec699371cd890775c \
+"
+
+inherit module
+
+DEPENDS = "linux-renesas"
+PN = "kernel-module-vspm"
+PR = "r0"
+
+VSPM_DRV_URL = "git://github.com/renesas-rcar/vspm_drv.git"
+BRANCH = "rcar_gen3"
+SRCREV = "2bdd8fa3b21a44f0677657d2bf0d7c7f3656abad"
+
+SRC_URI = "${VSPM_DRV_URL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+VSPM_DRV_DIR = "vspm-module/files/vspm"
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ cd ${S}/${VSPM_DRV_DIR}/drv
+ make all
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${KERNELSRC}/include
+ install -d ${D}/${includedir}
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${VSPM_DRV_DIR}/drv/Module.symvers ${KERNELSRC}/include/vspm.symvers
+
+ # Install kernel module
+ install -m 644 ${S}/${VSPM_DRV_DIR}/drv/vspm.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR)
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/vspm_public.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/vspm_cmn.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/vsp_drv.h ${KERNELSRC}/include/
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/fdp_drv.h ${KERNELSRC}/include/
+
+ # Install shared header files
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/vspm_cmn.h ${D}/${includedir}/
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/vsp_drv.h ${D}/${includedir}/
+ install -m 644 ${S}/${VSPM_DRV_DIR}/include/fdp_drv.h ${D}/${includedir}/
+}
+
+do_populate_sysroot[sstate-inputdirs] += "${S}/${VSPM_DRV_DIR}/include/"
+do_populate_sysroot[sstate-outputdirs] += "${KERNELSRC}/include/"
+do_populate_sysroot_setscene[prefuncs] = "vspm_sstate_check_func"
+SSTATE_DUPWHITELIST = "${KERNELSRC}/include"
+
+vspm_sstate_check_func() {
+ # An error is returned when unpack of kernel source has not been completed yet.
+ # By returning error, rebuild task runs by force (Invalidating sstate).
+ # This module installs shared header files in ${KERNELSRC}/include by
+ # sstate cache.
+ # Those files will be deleted by unpack task of kernel.
+ if [ ! -d "${KERNELSRC}/include" ]; then
+ exit 1
+ fi
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/vspm.ko \
+"
+
+RPROVIDES_${PN} += "kernel-module-vspm"
+
+# Autoload VSPM
+KERNEL_MODULE_AUTOLOAD = "vspm"
diff --git a/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bb b/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bb
new file mode 100644
index 0000000..b3fe755
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bb
@@ -0,0 +1,68 @@
+DESCRIPTION = "VSP Manager Interface driver for the R-Car Gen3"
+
+require include/rcar-gen3-modules-common.inc
+
+LICENSE = "GPLv2 & MIT"
+LIC_FILES_CHKSUM = " \
+ file://GPL-COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://MIT-COPYING;md5=0ebf15a927e436cec699371cd890775c \
+"
+
+inherit module
+
+DEPENDS = "linux-renesas kernel-module-vspm"
+PN = "kernel-module-vspmif"
+PR = "r0"
+
+VSPMIF_DRV_URL = " \
+ git://github.com/renesas-rcar/vspmif_drv.git"
+BRANCH = "rcar_gen3"
+SRCREV = "aed6adc8eb1661c9ff573b8c90e180a413c643ea"
+
+SRC_URI = "${VSPMIF_DRV_URL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
+VSPMIF_DRV_DIR = "vspm_if-module/files/vspm_if"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ cd ${S}/${VSPMIF_DRV_DIR}/drv
+ make all
+}
+
+do_install () {
+ # Create destination directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${D}/${includedir}
+ install -d ${KERNELSRC}/include
+
+ # Install shared library to KERNELSRC(STAGING_KERNEL_DIR) for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${VSPMIF_DRV_DIR}/drv/Module.symvers ${KERNELSRC}/include/vspm_if.symvers
+
+ # Install kernel module
+ install -m 644 ${S}/${VSPMIF_DRV_DIR}/drv/vspm_if.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+ # Install shared header files to KERNELSRC(STAGING_KERNEL_DIR)
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 644 ${S}/${VSPMIF_DRV_DIR}/include/vspm_if.h ${KERNELSRC}/include/
+
+ # Install shared header file
+ install -m 644 ${S}/${VSPMIF_DRV_DIR}/include/vspm_if.h ${D}/${includedir}/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/vspm_if.ko \
+"
+
+RPROVIDES_${PN} += " \
+ kernel-module-vspm-if-${KERNEL_VERSION} \
+ kernel-module-vspmif \
+ kernel-module-vspm-if \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb
new file mode 100644
index 0000000..421e8ed
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux-libc-headers/linux-libc-headers_4.9.bb
@@ -0,0 +1,10 @@
+require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+
+RENESAS_BSP_URL = " \
+ git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git"
+BRANCH = "v4.9/rcar-3.5.8"
+SRCREV = "bef6058b0ba00238b19e7518ba76536218ef97f1"
+
+SRC_URI = "${RENESAS_BSP_URL};branch=${BRANCH}"
+
+S = "${WORKDIR}/git"
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch
new file mode 100644
index 0000000..64782f7
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch
@@ -0,0 +1,83 @@
+From 1066e8ae45193732f235df740ac31f3e60fc1fe6 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Fri, 10 Nov 2017 13:07:55 +0900
+Subject: [PATCH 1/3] dmaengine: rcar-dmac: ensure CHCR DE bit is actually 0
+ after clear
+
+DMAC reads data from source device, and buffered it until transferable
+size for shink deivce. Because of this behavoir, DMAC is including
+buffered data .
+
+Now, CHCR DE bit is controlling DMA transfer enable/disable.
+
+If DE bit was cleared during data transfering, or during buffering,
+it will flush buffered data if source device was peripheral device
+(The buffered data will be removed if source device was memory).
+Because of this behavior, driver should ensure that DE bit is actually
+0 after cleared.
+
+This patch adds new rcar_dmac_chcr_de_barrier() and call it after CHCR
+register access.
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+---
+ drivers/dma/sh/rcar-dmac.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
+index 2b2c7db..16ebd5d 100644
+--- a/drivers/dma/sh/rcar-dmac.c
++++ b/drivers/dma/sh/rcar-dmac.c
+@@ -10,6 +10,7 @@
+ * published by the Free Software Foundation.
+ */
+
++#include <linux/delay.h>
+ #include <linux/dma-mapping.h>
+ #include <linux/dmaengine.h>
+ #include <linux/interrupt.h>
+@@ -741,6 +742,24 @@ static int rcar_dmac_fill_hwdesc(struct rcar_dmac_chan *chan,
+ /* -----------------------------------------------------------------------------
+ * Stop and reset
+ */
++static void rcar_dmac_chcr_de_barrier(struct rcar_dmac_chan *chan)
++{
++ u32 chcr;
++ int i;
++
++ /*
++ * Ensure that the setting of the DE bit is actually 0 after
++ * clearing it.
++ */
++ for (i = 0; i < 1024; i++) {
++ chcr = rcar_dmac_chan_read(chan, RCAR_DMACHCR);
++ if (!(chcr & RCAR_DMACHCR_DE))
++ return;
++ udelay(1);
++ }
++
++ dev_err(chan->chan.device->dev, "CHCR DE check error\n");
++}
+
+ static void rcar_dmac_chan_halt(struct rcar_dmac_chan *chan)
+ {
+@@ -749,6 +768,7 @@ static void rcar_dmac_chan_halt(struct rcar_dmac_chan *chan)
+ chcr &= ~(RCAR_DMACHCR_DSE | RCAR_DMACHCR_DSIE | RCAR_DMACHCR_IE |
+ RCAR_DMACHCR_TE | RCAR_DMACHCR_DE);
+ rcar_dmac_chan_write(chan, RCAR_DMACHCR, chcr);
++ rcar_dmac_chcr_de_barrier(chan);
+ }
+
+ static void rcar_dmac_chan_reinit(struct rcar_dmac_chan *chan)
+@@ -1481,6 +1501,8 @@ static irqreturn_t rcar_dmac_isr_channel(int irq, void *dev)
+ if (chcr & RCAR_DMACHCR_TE)
+ mask |= RCAR_DMACHCR_DE;
+ rcar_dmac_chan_write(chan, RCAR_DMACHCR, chcr & ~mask);
++ if (mask & RCAR_DMACHCR_DE)
++ rcar_dmac_chcr_de_barrier(chan);
+
+ if (chcr & RCAR_DMACHCR_DSE)
+ ret |= rcar_dmac_isr_desc_stage_end(chan);
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch
new file mode 100644
index 0000000..3454dff
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch
@@ -0,0 +1,104 @@
+From f5c857fb5913dcb4eea2e213ee69790b6dc127dd Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Mon, 13 Nov 2017 13:34:04 +0900
+Subject: [PATCH 2/3] dmaengine: rcar-dmac: use TCRB instead of TCR for residue
+
+SYS/RT/Audio DMAC includes independent data buffers for reading
+and writing. Therefore, the read transfer counter and write transfer
+counter have different values.
+TCR indicates read counter, and TCRB indicates write counter.
+The relationship is like below.
+
+ TCR TCRB
+ [SOURCE] -> [DMAC] -> [SINK]
+
+In the MEM_TO_DEV direction, what really matters is how much data has
+been written to the device. If the DMA is interrupted between read and
+write, then, the data doesn't end up in the destination, so shouldn't
+be counted. TCRB is thus the register we should use in this cases.
+
+In the DEV_TO_MEM direction, the situation is more complex. Both the
+read and write side are important. What matters from a data consumer
+point of view is how much data has been written to memory.
+On the other hand, if the transfer is interrupted between read and
+write, we'll end up losing data. It can also be important to report.
+
+In the MEM_TO_MEM direction, what matters is of course how much data
+has been written to memory from data consumer point of view.
+Here, because read and write have independent data buffers, it will
+take a while for TCR and TCRB to become equal. Thus we should check
+TCRB in this case, too.
+
+Thus, all cases we should check TCRB instead of TCR.
+
+Without this patch, Sound Capture has noise after PluseAudio support
+(= 07b7acb51d2 ("ASoC: rsnd: update pointer more accurate")), because
+the recorder will use wrong residue counter which indicates transferred
+from sound device, but in reality the data was not yet put to memory
+and recorder will record it.
+
+However, because DMAC is buffering data until it can be transferable
+size, TCRB might not be updated.
+For example, if consumer doesn't know how much data can be receaved,
+it requests enough size to DMAC. But in reality, it might receave very
+few data. In such case, DMAC just buffered it untile transferable size,
+and no TCRB updated.
+
+In such case, this buffered data will be transfered if CHCR::DE bit was
+cleared, and this is happen if rcar_dmac_chan_halt(). In other word, it
+happen when consumer called dmaengine_terminate_all().
+
+Because of this behavior, it need to flush buffered data when it returns
+"residue" (= dmaengine_tx_status()).
+Otherwise, consumer might calculate wrong things if it called
+dmaengine_tx_status() and dmaengine_terminate_all() consecutively.
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+---
+ drivers/dma/sh/rcar-dmac.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c
+index 16ebd5d..9cb85b2 100644
+--- a/drivers/dma/sh/rcar-dmac.c
++++ b/drivers/dma/sh/rcar-dmac.c
+@@ -761,6 +761,23 @@ static void rcar_dmac_chcr_de_barrier(struct rcar_dmac_chan *chan)
+ dev_err(chan->chan.device->dev, "CHCR DE check error\n");
+ }
+
++static void rcar_dmac_sync_tcr(struct rcar_dmac_chan *chan)
++{
++ u32 chcr = rcar_dmac_chan_read(chan, RCAR_DMACHCR);
++
++ if (!(chcr & RCAR_DMACHCR_DE))
++ return;
++
++ /* set DE=0 and flush remaining data */
++ rcar_dmac_chan_write(chan, RCAR_DMACHCR, (chcr & ~RCAR_DMACHCR_DE));
++
++ /* make sure all remaining data was fulshed */
++ rcar_dmac_chcr_de_barrier(chan);
++
++ /* back DE */
++ rcar_dmac_chan_write(chan, RCAR_DMACHCR, chcr);
++}
++
+ static void rcar_dmac_chan_halt(struct rcar_dmac_chan *chan)
+ {
+ u32 chcr = rcar_dmac_chan_read(chan, RCAR_DMACHCR);
+@@ -1329,8 +1346,11 @@ static unsigned int rcar_dmac_chan_get_residue(struct rcar_dmac_chan *chan,
+ residue += chunk->size;
+ }
+
++ if (desc->direction == DMA_DEV_TO_MEM)
++ rcar_dmac_sync_tcr(chan);
++
+ /* Add the residue for the current chunk. */
+- residue += rcar_dmac_chan_read(chan, RCAR_DMATCR) << desc->xfer_shift;
++ residue += rcar_dmac_chan_read(chan, RCAR_DMATCRB) << desc->xfer_shift;
+
+ return residue;
+ }
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0003-ASoC-rcar-revert-IOMMU-support-so-far.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0003-ASoC-rcar-revert-IOMMU-support-so-far.patch
new file mode 100644
index 0000000..f5456e7
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0003-ASoC-rcar-revert-IOMMU-support-so-far.patch
@@ -0,0 +1,191 @@
+From 1ad1207acf10070c94e1e3be598d9f5a2e9dd43e Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Mon, 13 Nov 2017 13:57:56 +0900
+Subject: [PATCH 3/3] ASoC: rcar: revert IOMMU support so far
+
+commit 4821d914fe7 ("ASoC: rsnd: use dma_sync_single_for_xxx() for
+IOMMU") had supported IOMMU, but it breaks normal sound "recorde"
+and both PulseAudio's "playback/recorde". The sound will be noisy.
+
+This commit is using dma_sync_single_for_xxx(), and driver should
+make sure memory is protected during CPU or Device are using it.
+But if driver returns current "residue" data size correctly on pointer
+function, player/recorder will access to protected memory.
+
+This feature should be supported, but I don't know how to handle it
+without problem at this point. Thus, this patch simply revert it to
+avoid noisy sound.
+
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+---
+ sound/soc/sh/rcar/core.c | 4 +--
+ sound/soc/sh/rcar/dma.c | 86 ++++--------------------------------------------
+ 2 files changed, 8 insertions(+), 82 deletions(-)
+
+diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c
+index 21335d7..d22fd6d 100644
+--- a/sound/soc/sh/rcar/core.c
++++ b/sound/soc/sh/rcar/core.c
+@@ -1394,8 +1394,8 @@ static int rsnd_pcm_new(struct snd_soc_pcm_runtime *rtd)
+
+ return snd_pcm_lib_preallocate_pages_for_all(
+ rtd->pcm,
+- SNDRV_DMA_TYPE_CONTINUOUS,
+- snd_dma_continuous_data(GFP_KERNEL),
++ SNDRV_DMA_TYPE_DEV,
++ rtd->card->snd_card->dev,
+ PREALLOC_BUFFER, PREALLOC_BUFFER_MAX);
+ }
+
+diff --git a/sound/soc/sh/rcar/dma.c b/sound/soc/sh/rcar/dma.c
+index fd557ab..4d750bdf 100644
+--- a/sound/soc/sh/rcar/dma.c
++++ b/sound/soc/sh/rcar/dma.c
+@@ -26,10 +26,7 @@
+ struct rsnd_dmaen {
+ struct dma_chan *chan;
+ dma_cookie_t cookie;
+- dma_addr_t dma_buf;
+ unsigned int dma_len;
+- unsigned int dma_period;
+- unsigned int dma_cnt;
+ };
+
+ struct rsnd_dmapp {
+@@ -71,38 +68,10 @@ struct rsnd_dma_ctrl {
+ /*
+ * Audio DMAC
+ */
+-#define rsnd_dmaen_sync(dmaen, io, i) __rsnd_dmaen_sync(dmaen, io, i, 1)
+-#define rsnd_dmaen_unsync(dmaen, io, i) __rsnd_dmaen_sync(dmaen, io, i, 0)
+-static void __rsnd_dmaen_sync(struct rsnd_dmaen *dmaen, struct rsnd_dai_stream *io,
+- int i, int sync)
+-{
+- struct device *dev = dmaen->chan->device->dev;
+- enum dma_data_direction dir;
+- int is_play = rsnd_io_is_play(io);
+- dma_addr_t buf;
+- int len, max;
+- size_t period;
+-
+- len = dmaen->dma_len;
+- period = dmaen->dma_period;
+- max = len / period;
+- i = i % max;
+- buf = dmaen->dma_buf + (period * i);
+-
+- dir = is_play ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
+-
+- if (sync)
+- dma_sync_single_for_device(dev, buf, period, dir);
+- else
+- dma_sync_single_for_cpu(dev, buf, period, dir);
+-}
+-
+ static void __rsnd_dmaen_complete(struct rsnd_mod *mod,
+ struct rsnd_dai_stream *io)
+ {
+ struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
+- struct rsnd_dma *dma = rsnd_mod_to_dma(mod);
+- struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
+ bool elapsed = false;
+ unsigned long flags;
+
+@@ -115,22 +84,9 @@ static void __rsnd_dmaen_complete(struct rsnd_mod *mod,
+ */
+ spin_lock_irqsave(&priv->lock, flags);
+
+- if (rsnd_io_is_working(io)) {
+- rsnd_dmaen_unsync(dmaen, io, dmaen->dma_cnt);
+-
+- /*
+- * Next period is already started.
+- * Let's sync Next Next period
+- * see
+- * rsnd_dmaen_start()
+- */
+- rsnd_dmaen_sync(dmaen, io, dmaen->dma_cnt + 2);
+-
++ if (rsnd_io_is_working(io))
+ elapsed = true;
+
+- dmaen->dma_cnt++;
+- }
+-
+ spin_unlock_irqrestore(&priv->lock, flags);
+
+ if (elapsed)
+@@ -165,14 +121,8 @@ static int rsnd_dmaen_stop(struct rsnd_mod *mod,
+ struct rsnd_dma *dma = rsnd_mod_to_dma(mod);
+ struct rsnd_dmaen *dmaen = rsnd_dma_to_dmaen(dma);
+
+- if (dmaen->chan) {
+- int is_play = rsnd_io_is_play(io);
+-
++ if (dmaen->chan)
+ dmaengine_terminate_all(dmaen->chan);
+- dma_unmap_single(dmaen->chan->device->dev,
+- dmaen->dma_buf, dmaen->dma_len,
+- is_play ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
+- }
+
+ return 0;
+ }
+@@ -237,11 +187,7 @@ static int rsnd_dmaen_start(struct rsnd_mod *mod,
+ struct device *dev = rsnd_priv_to_dev(priv);
+ struct dma_async_tx_descriptor *desc;
+ struct dma_slave_config cfg = {};
+- dma_addr_t buf;
+- size_t len;
+- size_t period;
+ int is_play = rsnd_io_is_play(io);
+- int i;
+ int ret;
+
+ cfg.direction = is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
+@@ -258,19 +204,10 @@ static int rsnd_dmaen_start(struct rsnd_mod *mod,
+ if (ret < 0)
+ return ret;
+
+- len = snd_pcm_lib_buffer_bytes(substream);
+- period = snd_pcm_lib_period_bytes(substream);
+- buf = dma_map_single(dmaen->chan->device->dev,
+- substream->runtime->dma_area,
+- len,
+- is_play ? DMA_TO_DEVICE : DMA_FROM_DEVICE);
+- if (dma_mapping_error(dmaen->chan->device->dev, buf)) {
+- dev_err(dev, "dma map failed\n");
+- return -EIO;
+- }
+-
+ desc = dmaengine_prep_dma_cyclic(dmaen->chan,
+- buf, len, period,
++ substream->runtime->dma_addr,
++ snd_pcm_lib_buffer_bytes(substream),
++ snd_pcm_lib_period_bytes(substream),
+ is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM,
+ DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
+
+@@ -282,18 +219,7 @@ static int rsnd_dmaen_start(struct rsnd_mod *mod,
+ desc->callback = rsnd_dmaen_complete;
+ desc->callback_param = rsnd_mod_get(dma);
+
+- dmaen->dma_buf = buf;
+- dmaen->dma_len = len;
+- dmaen->dma_period = period;
+- dmaen->dma_cnt = 0;
+-
+- /*
+- * synchronize this and next period
+- * see
+- * __rsnd_dmaen_complete()
+- */
+- for (i = 0; i < 2; i++)
+- rsnd_dmaen_sync(dmaen, io, i);
++ dmaen->dma_len = snd_pcm_lib_buffer_bytes(substream);
+
+ dmaen->cookie = dmaengine_submit(desc);
+ if (dmaen->cookie < 0) {
+--
+1.9.1
+
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-m3ulcb-ADSP-enable.patch b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-m3ulcb-ADSP-enable.patch
new file mode 100644
index 0000000..5e54109
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/0004-m3ulcb-ADSP-enable.patch
@@ -0,0 +1,30 @@
+diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+index a1f3c244b83e..b08e94430bea 100644
+--- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
++++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
+@@ -49,6 +49,13 @@
+ reg = <0x00000000 0x54000000 0x0 0x03000000>;
+ };
+
++ /* For Audio DSP */
++ adsp_reserved: linux,adsp {
++ compatible = "shared-dma-pool";
++ reusable;
++ reg = <0x00000000 0x57000000 0x0 0x01000000>;
++ };
++
+ /* global autoconfigured region for contiguous allocations */
+ linux,cma {
+ compatible = "shared-dma-pool";
+@@ -388,6 +395,11 @@
+ status = "okay";
+ };
+
++&adsp {
++ status = "okay";
++ memory-region = <&adsp_reserved>;
++};
++
+ &scif2 {
+ pinctrl-0 = <&scif2_pins>;
+ pinctrl-names = "default";
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/defconfig b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/defconfig
new file mode 100644
index 0000000..63c00c8
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/defconfig
@@ -0,0 +1,5715 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 4.9.0 Kernel Configuration
+#
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU=y
+CONFIG_DEBUG_RODATA=y
+CONFIG_ARM64_PAGE_SHIFT=12
+CONFIG_ARM64_CONT_SHIFT=4
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_BITS_MAX=33
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_HAVE_GENERIC_RCU_GUP=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_SMP=y
+CONFIG_SWIOTLB=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_EXTABLE_SORT=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_CROSS_COMPILE=""
+# CONFIG_COMPILE_TEST is not set
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+CONFIG_FHANDLE=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+CONFIG_AUDIT_WATCH=y
+CONFIG_AUDIT_TREE=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_HANDLE_DOMAIN_IRQ=y
+# CONFIG_IRQ_DOMAIN_DEBUG is not set
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_BSD_PROCESS_ACCT_V3=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+
+#
+# RCU Subsystem
+#
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+# CONFIG_TASKS_RCU is not set
+CONFIG_RCU_STALL_COMMON=y
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_RCU_EXPEDITE_BOOT is not set
+CONFIG_BUILD_BIN2C=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_GENERIC_SCHED_CLOCK=y
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+CONFIG_MEMCG=y
+CONFIG_MEMCG_SWAP=y
+CONFIG_MEMCG_SWAP_ENABLED=y
+CONFIG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_CFS_BANDWIDTH is not set
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_FREEZER is not set
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+# CONFIG_CGROUP_DEBUG is not set
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_SYSFS_DEPRECATED is not set
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_BPF=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=y
+# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+# CONFIG_BPF_SYSCALL is not set
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_ADVISE_SYSCALLS=y
+# CONFIG_USERFAULTFD is not set
+CONFIG_PCI_QUIRKS=y
+CONFIG_MEMBARRIER=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_SYSTEM_DATA_VERIFICATION is not set
+CONFIG_PROFILING=y
+CONFIG_KEXEC_CORE=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+# CONFIG_UPROBES is not set
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_HAVE_CC_STACKPROTECTOR=y
+# CONFIG_CC_STACKPROTECTOR is not set
+CONFIG_CC_STACKPROTECTOR_NONE=y
+# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
+# CONFIG_CC_STACKPROTECTOR_STRONG is not set
+CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+# CONFIG_HAVE_ARCH_HASH is not set
+# CONFIG_ISA_BUS_API is not set
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+# CONFIG_CPU_NO_EFFICIENT_FFS is not set
+# CONFIG_HAVE_ARCH_VMAP_STACK is not set
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+# CONFIG_MODULE_COMPRESS is not set
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+CONFIG_BLK_DEV_INTEGRITY=y
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_CMDLINE_PARSER is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+CONFIG_BLOCK_COMPAT=y
+CONFIG_BLK_MQ_PCI=y
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_CFQ_GROUP_IOSCHED is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_FREEZER=y
+
+#
+# Platform selection
+#
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_ALPINE=y
+# CONFIG_ARCH_BCM2835 is not set
+CONFIG_ARCH_BCM_IPROC=y
+CONFIG_ARCH_BERLIN=y
+# CONFIG_ARCH_BRCMSTB is not set
+CONFIG_ARCH_EXYNOS=y
+CONFIG_ARCH_LAYERSCAPE=y
+CONFIG_ARCH_LG1K=y
+CONFIG_ARCH_HISI=y
+CONFIG_ARCH_MEDIATEK=y
+CONFIG_ARCH_MESON=y
+CONFIG_ARCH_MVEBU=y
+CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_ROCKCHIP=y
+CONFIG_ARCH_SEATTLE=y
+CONFIG_ARCH_SHMOBILE=y
+CONFIG_ARCH_RENESAS=y
+CONFIG_ARCH_R8A7795=y
+CONFIG_ARCH_R8A7796=y
+CONFIG_ARCH_STRATIX10=y
+CONFIG_ARCH_TEGRA=y
+CONFIG_ARCH_SPRD=y
+CONFIG_ARCH_THUNDER=y
+CONFIG_ARCH_UNIPHIER=y
+CONFIG_ARCH_VEXPRESS=y
+CONFIG_ARCH_VULCAN=y
+CONFIG_ARCH_XGENE=y
+CONFIG_ARCH_ZX=y
+CONFIG_ARCH_ZYNQMP=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCIEAER=y
+# CONFIG_PCIE_ECRC is not set
+# CONFIG_PCIEAER_INJECT is not set
+CONFIG_PCIEASPM=y
+# CONFIG_PCIEASPM_DEBUG is not set
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_DPC is not set
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_BUS_ADDR_T_64BIT=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+# CONFIG_PCI_STUB is not set
+CONFIG_PCI_ATS=y
+CONFIG_PCI_ECAM=y
+CONFIG_PCI_IOV=y
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_PCI_LABEL=y
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI host controller drivers
+#
+CONFIG_PCI_AARDVARK=y
+# CONFIG_PCIE_XILINX_NWL is not set
+# CONFIG_PCIE_DW_PLAT is not set
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_RCAR=y
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCI_XGENE=y
+CONFIG_PCI_XGENE_MSI=y
+CONFIG_PCI_LAYERSCAPE=y
+CONFIG_PCIE_IPROC=y
+CONFIG_PCIE_IPROC_PLATFORM=y
+CONFIG_PCIE_IPROC_MSI=y
+CONFIG_PCI_HISI=y
+CONFIG_PCIE_QCOM=y
+# CONFIG_PCI_HOST_THUNDER_PEM is not set
+# CONFIG_PCI_HOST_THUNDER_ECAM is not set
+CONFIG_PCIE_ARMADA_8K=y
+# CONFIG_PCIE_ROCKCHIP is not set
+
+#
+# Kernel Features
+#
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_845719=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_CAVIUM_ERRATUM_22375=y
+CONFIG_CAVIUM_ERRATUM_23154=y
+CONFIG_CAVIUM_ERRATUM_27456=y
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_16K_PAGES is not set
+# CONFIG_ARM64_64K_PAGES is not set
+# CONFIG_ARM64_VA_BITS_39 is not set
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_ARM64_VA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_SCHED_MC=y
+# CONFIG_SCHED_SMT is not set
+CONFIG_NR_CPUS=64
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_NUMA is not set
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_HAVE_ARCH_PFN_VALID=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_SYS_SUPPORTS_HUGETLBFS=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_MEMORY_ISOLATION=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_BOUNCE=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_TRANSPARENT_HUGE_PAGECACHE=y
+# CONFIG_CLEANCACHE is not set
+# CONFIG_FRONTSWAP is not set
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+# CONFIG_CMA_DEBUGFS is not set
+CONFIG_CMA_AREAS=7
+# CONFIG_ZPOOL is not set
+# CONFIG_ZBUD is not set
+# CONFIG_ZSMALLOC is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_FRAME_VECTOR=y
+CONFIG_SECCOMP=y
+CONFIG_PARAVIRT=y
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_KEXEC=y
+CONFIG_XEN_DOM0=y
+CONFIG_XEN=y
+CONFIG_FORCE_MAX_ZONEORDER=11
+# CONFIG_ARMV8_DEPRECATED is not set
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+# CONFIG_ARM64_LSE_ATOMICS is not set
+CONFIG_ARM64_VHE=y
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_ARM64_UAO=y
+CONFIG_ARM64_MODULE_CMODEL_LARGE=y
+# CONFIG_RANDOMIZE_BASE is not set
+
+#
+# Boot options
+#
+# CONFIG_ARM64_ACPI_PARKING_PROTOCOL is not set
+CONFIG_CMDLINE=""
+# CONFIG_CMDLINE_FORCE is not set
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_DMI=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+CONFIG_COREDUMP=y
+CONFIG_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_OPP=y
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+# CONFIG_CPU_IDLE_GOV_LADDER is not set
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DT_IDLE_STATES=y
+
+#
+# ARM CPU Idle Drivers
+#
+CONFIG_ARM_CPUIDLE=y
+# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+# CONFIG_CPU_FREQ_STAT is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
+# CONFIG_ARM_DT_BL_CPUFREQ is not set
+# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
+# CONFIG_ARM_MT8173_CPUFREQ is not set
+CONFIG_ARM_SCPI_CPUFREQ=y
+CONFIG_ARM_TEGRA20_CPUFREQ=y
+CONFIG_ARM_TEGRA124_CPUFREQ=y
+# CONFIG_ACPI_CPPC_CPUFREQ is not set
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
+CONFIG_UNIX=y
+# CONFIG_UNIX_DIAG is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE_DEMUX is not set
+CONFIG_NET_IP_TUNNEL=m
+# CONFIG_IP_MROUTE is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_NET_IPVTI is not set
+# CONFIG_NET_UDP_TUNNEL is not set
+# CONFIG_NET_FOU is not set
+# CONFIG_NET_FOU_IP_TUNNELS is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_INET_UDP_DIAG is not set
+# CONFIG_INET_DIAG_DESTROY is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_IPV6_ILA is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+# CONFIG_IPV6_VTI is not set
+CONFIG_IPV6_SIT=m
+# CONFIG_IPV6_SIT_6RD is not set
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_FOU is not set
+# CONFIG_IPV6_FOU_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+# CONFIG_NETFILTER_NETLINK_ACCT is not set
+# CONFIG_NETFILTER_NETLINK_QUEUE is not set
+# CONFIG_NETFILTER_NETLINK_LOG is not set
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_COMMON=m
+# CONFIG_NF_CONNTRACK_MARK is not set
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+# CONFIG_NF_CONNTRACK_TIMEOUT is not set
+# CONFIG_NF_CONNTRACK_TIMESTAMP is not set
+# CONFIG_NF_CT_PROTO_DCCP is not set
+# CONFIG_NF_CT_PROTO_SCTP is not set
+# CONFIG_NF_CT_PROTO_UDPLITE is not set
+# CONFIG_NF_CONNTRACK_AMANDA is not set
+# CONFIG_NF_CONNTRACK_FTP is not set
+# CONFIG_NF_CONNTRACK_H323 is not set
+# CONFIG_NF_CONNTRACK_IRC is not set
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_SNMP is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+# CONFIG_NF_CONNTRACK_SANE is not set
+# CONFIG_NF_CONNTRACK_SIP is not set
+# CONFIG_NF_CONNTRACK_TFTP is not set
+# CONFIG_NF_CT_NETLINK is not set
+# CONFIG_NF_CT_NETLINK_TIMEOUT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+# CONFIG_NF_NAT_AMANDA is not set
+# CONFIG_NF_NAT_FTP is not set
+# CONFIG_NF_NAT_IRC is not set
+# CONFIG_NF_NAT_SIP is not set
+# CONFIG_NF_NAT_TFTP is not set
+# CONFIG_NF_NAT_REDIRECT is not set
+# CONFIG_NF_TABLES is not set
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+# CONFIG_NETFILTER_XT_MARK is not set
+# CONFIG_NETFILTER_XT_CONNMARK is not set
+
+#
+# Xtables targets
+#
+# CONFIG_NETFILTER_XT_TARGET_AUDIT is not set
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
+# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+# CONFIG_NETFILTER_XT_TARGET_HL is not set
+# CONFIG_NETFILTER_XT_TARGET_HMARK is not set
+# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
+# CONFIG_NETFILTER_XT_TARGET_LED is not set
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+# CONFIG_NETFILTER_XT_TARGET_MARK is not set
+CONFIG_NETFILTER_XT_NAT=m
+# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set
+# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
+# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
+# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
+# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set
+# CONFIG_NETFILTER_XT_TARGET_TEE is not set
+# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
+# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
+# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set
+# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set
+# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+# CONFIG_NETFILTER_XT_MATCH_CPU is not set
+# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
+# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+# CONFIG_NETFILTER_XT_MATCH_ECN is not set
+# CONFIG_NETFILTER_XT_MATCH_ESP is not set
+# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+# CONFIG_NETFILTER_XT_MATCH_HL is not set
+# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
+# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
+# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
+# CONFIG_NETFILTER_XT_MATCH_MAC is not set
+# CONFIG_NETFILTER_XT_MATCH_MARK is not set
+# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
+# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
+# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
+# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
+# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
+# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
+# CONFIG_NETFILTER_XT_MATCH_REALM is not set
+# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
+# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
+# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set
+# CONFIG_NETFILTER_XT_MATCH_STATE is not set
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+# CONFIG_NETFILTER_XT_MATCH_STRING is not set
+# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
+# CONFIG_NETFILTER_XT_MATCH_TIME is not set
+# CONFIG_NETFILTER_XT_MATCH_U32 is not set
+# CONFIG_IP_SET is not set
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_CONNTRACK_IPV4=m
+# CONFIG_NF_DUP_IPV4 is not set
+# CONFIG_NF_LOG_ARP is not set
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_IPV4=m
+CONFIG_NF_NAT_MASQUERADE_IPV4=m
+# CONFIG_NF_NAT_PPTP is not set
+# CONFIG_NF_NAT_H323 is not set
+CONFIG_IP_NF_IPTABLES=m
+# CONFIG_IP_NF_MATCH_AH is not set
+# CONFIG_IP_NF_MATCH_ECN is not set
+# CONFIG_IP_NF_MATCH_RPFILTER is not set
+# CONFIG_IP_NF_MATCH_TTL is not set
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+# CONFIG_IP_NF_TARGET_SYNPROXY is not set
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+# CONFIG_IP_NF_TARGET_NETMAP is not set
+# CONFIG_IP_NF_TARGET_REDIRECT is not set
+CONFIG_IP_NF_MANGLE=m
+# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
+# CONFIG_IP_NF_TARGET_ECN is not set
+# CONFIG_IP_NF_TARGET_TTL is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_SECURITY is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_CONNTRACK_IPV6=m
+# CONFIG_NF_DUP_IPV6 is not set
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_NF_NAT_IPV6=m
+CONFIG_NF_NAT_MASQUERADE_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+# CONFIG_IP6_NF_MATCH_AH is not set
+# CONFIG_IP6_NF_MATCH_EUI64 is not set
+# CONFIG_IP6_NF_MATCH_FRAG is not set
+# CONFIG_IP6_NF_MATCH_OPTS is not set
+# CONFIG_IP6_NF_MATCH_HL is not set
+# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set
+# CONFIG_IP6_NF_MATCH_MH is not set
+# CONFIG_IP6_NF_MATCH_RPFILTER is not set
+# CONFIG_IP6_NF_MATCH_RT is not set
+# CONFIG_IP6_NF_TARGET_HL is not set
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+# CONFIG_IP6_NF_TARGET_SYNPROXY is not set
+CONFIG_IP6_NF_MANGLE=m
+# CONFIG_IP6_NF_RAW is not set
+# CONFIG_IP6_NF_SECURITY is not set
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+# CONFIG_IP6_NF_TARGET_NPT is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+# CONFIG_MPLS is not set
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_XPS=y
+# CONFIG_SOCK_CGROUP_DATA is not set
+# CONFIG_CGROUP_NET_PRIO is not set
+# CONFIG_CGROUP_NET_CLASSID is not set
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_BPF_JIT=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+# CONFIG_BT_RFCOMM is not set
+# CONFIG_BT_BNEP is not set
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+CONFIG_BT_LEDS=y
+# CONFIG_BT_SELFTEST is not set
+# CONFIG_BT_DEBUGFS is not set
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIBTUSB is not set
+# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIUART=m
+# CONFIG_BT_HCIUART_H4 is not set
+# CONFIG_BT_HCIUART_BCSP is not set
+# CONFIG_BT_HCIUART_ATH3K is not set
+CONFIG_BT_HCIUART_LL=y
+# CONFIG_BT_HCIUART_3WIRE is not set
+# CONFIG_BT_HCIUART_INTEL is not set
+# CONFIG_BT_HCIUART_BCM is not set
+# CONFIG_BT_HCIUART_QCA is not set
+# CONFIG_BT_HCIUART_AG6XX is not set
+# CONFIG_BT_HCIUART_MRVL is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_BT_MRVL is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+# CONFIG_STREAM_PARSER is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+# CONFIG_CFG80211_INTERNAL_REGDB is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
+# CONFIG_CFG80211_WEXT is not set
+# CONFIG_LIB80211 is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_MINSTREL_HT=y
+# CONFIG_MAC80211_RC_MINSTREL_VHT is not set
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+# CONFIG_WIMAX is not set
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+# CONFIG_RFKILL_REGULATOR is not set
+# CONFIG_RFKILL_GPIO is not set
+CONFIG_NET_9P=y
+CONFIG_NET_9P_VIRTIO=y
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+# CONFIG_LWTUNNEL is not set
+CONFIG_DST_CACHE=y
+# CONFIG_NET_DEVLINK is not set
+CONFIG_MAY_USE_DEVLINK=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_TEGRA_AHB=y
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
+CONFIG_ALLOW_DEV_COREDUMP=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+CONFIG_SYS_HYPERVISOR=y
+# CONFIG_GENERIC_CPU_DEVICES is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_SPMI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_FENCE_TRACE is not set
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+
+#
+# Bus devices
+#
+# CONFIG_ARM_CCI400_PMU is not set
+# CONFIG_ARM_CCI5xx_PMU is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_QCOM_EBI2 is not set
+# CONFIG_SIMPLE_PM_BUS is not set
+# CONFIG_SUNXI_RSB is not set
+# CONFIG_TEGRA_ACONNECT is not set
+CONFIG_UNIPHIER_SYSTEM_BUS=y
+CONFIG_VEXPRESS_CONFIG=y
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+# CONFIG_MTD_BLOCK is not set
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+CONFIG_MTD_M25P80=y
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_MT81xx_NOR is not set
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_SPI_FSL_QUADSPI is not set
+# CONFIG_SPI_HISI_SFC is not set
+# CONFIG_MTD_UBI is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_ADDRESS_PCI=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_MDIO=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_PARPORT is not set
+CONFIG_PNP=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+
+#
+# Protocols
+#
+CONFIG_PNPACPI=y
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SKD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_XEN_BLKDEV_FRONTEND=y
+# CONFIG_XEN_BLKDEV_BACKEND is not set
+CONFIG_VIRTIO_BLK=y
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_RSXX is not set
+# CONFIG_BLK_DEV_NVME is not set
+# CONFIG_NVME_TARGET is not set
+
+#
+# Misc devices
+#
+# CONFIG_SENSORS_LIS3LV02D is not set
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_QCOM_COINCELL is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_TI_DAC7512 is not set
+# CONFIG_USB_SWITCH_FSA9480 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+CONFIG_SRAM=y
+CONFIG_VEXPRESS_SYSCFG=y
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+
+#
+# Altera FPGA firmware download module
+#
+# CONFIG_ALTERA_STAPL is not set
+
+#
+# Intel MIC Bus Driver
+#
+
+#
+# SCIF Bus Driver
+#
+
+#
+# VOP Bus Driver
+#
+
+#
+# Intel MIC Host Driver
+#
+
+#
+# Intel MIC Card Driver
+#
+
+#
+# SCIF Driver
+#
+
+#
+# Intel MIC Coprocessor State Management (COSM) Drivers
+#
+
+#
+# VOP Driver
+#
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_CXL_BASE is not set
+# CONFIG_CXL_AFU_DRIVER_OPS is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_NETLINK is not set
+# CONFIG_SCSI_MQ_DEFAULT is not set
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=y
+CONFIG_SCSI_SAS_LIBSAS=y
+CONFIG_SCSI_SAS_ATA=y
+CONFIG_SCSI_SAS_HOST_SMP=y
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+CONFIG_SCSI_HISI_SAS=y
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_XEN_SCSI_FRONTEND is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_VIRTIO is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_SCSI_OSD_INITIATOR is not set
+CONFIG_HAVE_PATA_PLATFORM=y
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_ACPI=y
+# CONFIG_SATA_ZPODD is not set
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=y
+CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_AHCI_CEVA=y
+CONFIG_AHCI_MVEBU=y
+# CONFIG_AHCI_SUNXI is not set
+# CONFIG_AHCI_TEGRA is not set
+CONFIG_AHCI_XGENE=y
+CONFIG_AHCI_QORIQ=y
+# CONFIG_SATA_AHCI_SEATTLE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+CONFIG_SATA_SIL24=y
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_DWC is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+CONFIG_SATA_RCAR=y
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_OF_PLATFORM=y
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_PATA_ACPI is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+# CONFIG_VXLAN is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+CONFIG_TUN=y
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=y
+# CONFIG_NLMON is not set
+# CONFIG_ARCNET is not set
+
+#
+# CAIF transport drivers
+#
+
+#
+# Distributed Switch Architecture drivers
+#
+CONFIG_ETHERNET=y
+CONFIG_NET_VENDOR_3COM=y
+# CONFIG_VORTEX is not set
+# CONFIG_TYPHOON is not set
+CONFIG_NET_VENDOR_ADAPTEC=y
+# CONFIG_ADAPTEC_STARFIRE is not set
+CONFIG_NET_VENDOR_AGERE=y
+# CONFIG_ET131X is not set
+CONFIG_NET_VENDOR_ALLWINNER=y
+# CONFIG_SUN4I_EMAC is not set
+CONFIG_NET_VENDOR_ALTEON=y
+# CONFIG_ACENIC is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMAZON=y
+CONFIG_NET_VENDOR_AMD=y
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_PCNET32 is not set
+CONFIG_AMD_XGBE=y
+CONFIG_NET_XGENE=y
+CONFIG_NET_VENDOR_ARC=y
+# CONFIG_ARC_EMAC is not set
+# CONFIG_EMAC_ROCKCHIP is not set
+CONFIG_NET_VENDOR_ATHEROS=y
+# CONFIG_ATL2 is not set
+# CONFIG_ATL1 is not set
+# CONFIG_ATL1E is not set
+# CONFIG_ATL1C is not set
+# CONFIG_ALX is not set
+# CONFIG_NET_VENDOR_AURORA is not set
+CONFIG_NET_CADENCE=y
+CONFIG_MACB=y
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BCMGENET is not set
+# CONFIG_BNX2 is not set
+# CONFIG_CNIC is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2X is not set
+CONFIG_BGMAC=y
+CONFIG_BGMAC_PLATFORM=y
+# CONFIG_SYSTEMPORT is not set
+# CONFIG_BNXT is not set
+CONFIG_NET_VENDOR_BROCADE=y
+# CONFIG_BNA is not set
+CONFIG_NET_VENDOR_CAVIUM=y
+# CONFIG_THUNDER_NIC_PF is not set
+# CONFIG_THUNDER_NIC_VF is not set
+# CONFIG_THUNDER_NIC_BGX is not set
+# CONFIG_THUNDER_NIC_RGX is not set
+# CONFIG_LIQUIDIO is not set
+CONFIG_NET_VENDOR_CHELSIO=y
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_CHELSIO_T3 is not set
+# CONFIG_CHELSIO_T4 is not set
+# CONFIG_CHELSIO_T4VF is not set
+CONFIG_NET_VENDOR_CISCO=y
+# CONFIG_ENIC is not set
+# CONFIG_DNET is not set
+CONFIG_NET_VENDOR_DEC=y
+# CONFIG_NET_TULIP is not set
+CONFIG_NET_VENDOR_DLINK=y
+# CONFIG_DL2K is not set
+# CONFIG_SUNDANCE is not set
+CONFIG_NET_VENDOR_EMULEX=y
+# CONFIG_BE2NET is not set
+CONFIG_NET_VENDOR_EZCHIP=y
+# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set
+CONFIG_NET_VENDOR_EXAR=y
+# CONFIG_S2IO is not set
+# CONFIG_VXGE is not set
+CONFIG_NET_VENDOR_FREESCALE=y
+# CONFIG_FSL_PQ_MDIO is not set
+# CONFIG_FSL_XGMAC_MDIO is not set
+# CONFIG_GIANFAR is not set
+CONFIG_NET_VENDOR_HISILICON=y
+# CONFIG_HIX5HD2_GMAC is not set
+# CONFIG_HISI_FEMAC is not set
+# CONFIG_HIP04_ETH is not set
+CONFIG_HNS_MDIO=y
+CONFIG_HNS=y
+CONFIG_HNS_DSAF=y
+CONFIG_HNS_ENET=y
+CONFIG_NET_VENDOR_HP=y
+# CONFIG_HP100 is not set
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=y
+CONFIG_IGB=y
+CONFIG_IGB_HWMON=y
+CONFIG_IGBVF=y
+# CONFIG_IXGB is not set
+# CONFIG_IXGBE is not set
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_FM10K is not set
+CONFIG_NET_VENDOR_I825XX=y
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_MARVELL=y
+# CONFIG_MVMDIO is not set
+# CONFIG_MVNETA_BM is not set
+# CONFIG_PXA168_ETH is not set
+# CONFIG_SKGE is not set
+CONFIG_SKY2=y
+# CONFIG_SKY2_DEBUG is not set
+# CONFIG_NET_VENDOR_MEDIATEK is not set
+CONFIG_NET_VENDOR_MELLANOX=y
+# CONFIG_MLX4_EN is not set
+# CONFIG_MLX4_CORE is not set
+# CONFIG_MLX5_CORE is not set
+# CONFIG_MLXSW_CORE is not set
+CONFIG_NET_VENDOR_MICREL=y
+# CONFIG_KS8842 is not set
+# CONFIG_KS8851 is not set
+# CONFIG_KS8851_MLL is not set
+# CONFIG_KSZ884X_PCI is not set
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NATSEMI=y
+# CONFIG_NATSEMI is not set
+# CONFIG_NS83820 is not set
+CONFIG_NET_VENDOR_NETRONOME=y
+# CONFIG_NFP_NETVF is not set
+CONFIG_NET_VENDOR_8390=y
+# CONFIG_NE2K_PCI is not set
+CONFIG_NET_VENDOR_NVIDIA=y
+# CONFIG_FORCEDETH is not set
+CONFIG_NET_VENDOR_OKI=y
+# CONFIG_ETHOC is not set
+CONFIG_NET_PACKET_ENGINE=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_QLOGIC=y
+# CONFIG_QLA3XXX is not set
+# CONFIG_QLCNIC is not set
+# CONFIG_QLGE is not set
+# CONFIG_NETXEN_NIC is not set
+# CONFIG_QED is not set
+CONFIG_NET_VENDOR_QUALCOMM=y
+# CONFIG_QCA7000 is not set
+# CONFIG_QCOM_EMAC is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_R8169 is not set
+CONFIG_NET_VENDOR_RENESAS=y
+# CONFIG_SH_ETH is not set
+CONFIG_RAVB=y
+CONFIG_NET_VENDOR_RDC=y
+# CONFIG_R6040 is not set
+CONFIG_NET_VENDOR_ROCKER=y
+CONFIG_NET_VENDOR_SAMSUNG=y
+# CONFIG_SXGBE_ETH is not set
+CONFIG_NET_VENDOR_SEEQ=y
+CONFIG_NET_VENDOR_SILAN=y
+# CONFIG_SC92031 is not set
+CONFIG_NET_VENDOR_SIS=y
+# CONFIG_SIS900 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SFC is not set
+CONFIG_NET_VENDOR_SMSC=y
+CONFIG_SMC91X=y
+# CONFIG_EPIC100 is not set
+CONFIG_SMSC911X=y
+# CONFIG_SMSC911X_ARCH_HOOKS is not set
+# CONFIG_SMSC9420 is not set
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+CONFIG_STMMAC_PLATFORM=m
+CONFIG_DWMAC_GENERIC=m
+CONFIG_DWMAC_IPQ806X=m
+CONFIG_DWMAC_MESON=m
+CONFIG_DWMAC_ROCKCHIP=m
+CONFIG_DWMAC_SUNXI=m
+# CONFIG_STMMAC_PCI is not set
+CONFIG_NET_VENDOR_SUN=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NIU is not set
+CONFIG_NET_VENDOR_SYNOPSYS=y
+# CONFIG_SYNOPSYS_DWC_ETH_QOS is not set
+CONFIG_NET_VENDOR_TEHUTI=y
+# CONFIG_TEHUTI is not set
+CONFIG_NET_VENDOR_TI=y
+# CONFIG_TI_CPSW_ALE is not set
+# CONFIG_TLAN is not set
+CONFIG_NET_VENDOR_VIA=y
+# CONFIG_VIA_RHINE is not set
+# CONFIG_VIA_VELOCITY is not set
+CONFIG_NET_VENDOR_WIZNET=y
+# CONFIG_WIZNET_W5100 is not set
+# CONFIG_WIZNET_W5300 is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_NET_SB1000 is not set
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+
+#
+# MDIO bus device drivers
+#
+# CONFIG_MDIO_BCM_IPROC is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_BUS_MUX=y
+CONFIG_MDIO_BUS_MUX_BCM_IPROC=y
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+# CONFIG_MDIO_GPIO is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_SUN4I is not set
+# CONFIG_MDIO_THUNDER is not set
+CONFIG_MDIO_XGENE=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+CONFIG_FIXED_PHY=y
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+CONFIG_MICREL_PHY=y
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+CONFIG_REALTEK_PHY=m
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+# CONFIG_USB_LAN78XX is not set
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+CONFIG_USB_NET_CDC_NCM=m
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_SR9700 is not set
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_ADMTEK=y
+# CONFIG_ADM8211 is not set
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH5K_PCI is not set
+# CONFIG_ATH9K is not set
+# CONFIG_ATH9K_HTC is not set
+# CONFIG_CARL9170 is not set
+# CONFIG_ATH6KL is not set
+# CONFIG_AR5523 is not set
+# CONFIG_WIL6210 is not set
+# CONFIG_ATH10K is not set
+# CONFIG_WCN36XX is not set
+CONFIG_WLAN_VENDOR_ATMEL=y
+# CONFIG_ATMEL is not set
+# CONFIG_AT76C50X_USB is not set
+CONFIG_WLAN_VENDOR_BROADCOM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_BRCMSMAC is not set
+# CONFIG_BRCMFMAC is not set
+CONFIG_WLAN_VENDOR_CISCO=y
+CONFIG_WLAN_VENDOR_INTEL=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_IWLWIFI is not set
+CONFIG_WLAN_VENDOR_INTERSIL=y
+# CONFIG_HOSTAP is not set
+# CONFIG_HERMES is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_PRISM54 is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_MWIFIEX is not set
+# CONFIG_MWL8K is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+# CONFIG_MT7601U is not set
+CONFIG_WLAN_VENDOR_RALINK=y
+# CONFIG_RT2X00 is not set
+CONFIG_WLAN_VENDOR_REALTEK=y
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+CONFIG_RTL_CARDS=m
+# CONFIG_RTL8192CE is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_RTL8192DE is not set
+# CONFIG_RTL8723AE is not set
+# CONFIG_RTL8723BE is not set
+# CONFIG_RTL8188EE is not set
+# CONFIG_RTL8192EE is not set
+# CONFIG_RTL8821AE is not set
+# CONFIG_RTL8192CU is not set
+# CONFIG_RTL8XXXU is not set
+CONFIG_WLAN_VENDOR_RSI=y
+# CONFIG_RSI_91X is not set
+CONFIG_WLAN_VENDOR_ST=y
+# CONFIG_CW1200 is not set
+CONFIG_WLAN_VENDOR_TI=y
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX is not set
+CONFIG_WL18XX=m
+CONFIG_WLCORE=m
+# CONFIG_WLCORE_SPI is not set
+CONFIG_WLCORE_SDIO=m
+CONFIG_WILINK_PLATFORM_DATA=y
+CONFIG_WLAN_VENDOR_ZYDAS=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_ZD1211RW is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+# CONFIG_WAN is not set
+CONFIG_XEN_NETDEV_FRONTEND=y
+# CONFIG_XEN_NETDEV_BACKEND is not set
+# CONFIG_VMXNET3 is not set
+# CONFIG_FUJITSU_ES is not set
+# CONFIG_ISDN is not set
+# CONFIG_NVM is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADC is not set
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_TEGRA is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_SH_KEYSC is not set
+# CONFIG_KEYBOARD_SUN4I_LRADC is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CROS_EC is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_BYD=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_FOCALTECH=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+CONFIG_INPUT_PM8941_PWRKEY=y
+# CONFIG_INPUT_MMA8450 is not set
+# CONFIG_INPUT_MPU3050 is not set
+# CONFIG_INPUT_GP2A is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_TILT_POLLED is not set
+# CONFIG_INPUT_GPIO_DECODER is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
+# CONFIG_INPUT_UINPUT is not set
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_CMA3000 is not set
+CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
+# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+CONFIG_INPUT_HISI_POWERKEY=y
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_SUN4I_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_N_GSM is not set
+# CONFIG_TRACE_SINK is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVKMEM=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_PNP=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_8250_UNIPHIER=y
+# CONFIG_SERIAL_8250_MOXA is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
+CONFIG_SERIAL_MESON=y
+CONFIG_SERIAL_MESON_CONSOLE=y
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_UARTS_4=y
+CONFIG_SERIAL_SAMSUNG_UARTS=4
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+CONFIG_SERIAL_TEGRA=y
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS=11
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
+# CONFIG_SERIAL_SH_SCI_EARLYCON is not set
+# CONFIG_SERIAL_SH_SCI_DMA is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_IFX6X60 is not set
+CONFIG_SERIAL_XILINX_PS_UART=y
+CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+CONFIG_SERIAL_MVEBU_UART=y
+CONFIG_SERIAL_MVEBU_CONSOLE=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_HVC_XEN_FRONTEND=y
+# CONFIG_HVC_DCC is not set
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+CONFIG_HW_RANDOM_IPROC_RNG200=m
+# CONFIG_HW_RANDOM_VIRTIO is not set
+CONFIG_HW_RANDOM_EXYNOS=m
+CONFIG_HW_RANDOM_HISI=m
+CONFIG_HW_RANDOM_MSM=m
+CONFIG_HW_RANDOM_XGENE=m
+CONFIG_HW_RANDOM_MESON=m
+CONFIG_HW_RANDOM_CAVIUM=m
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_HPET is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+# CONFIG_XILLYBUS is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_ACPI_I2C_OPREGION=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+CONFIG_I2C_MUX_PCA954x=y
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_HIX5HD2 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# ACPI drivers
+#
+# CONFIG_I2C_SCMI is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+CONFIG_I2C_BCM_IPROC=y
+# CONFIG_I2C_CADENCE is not set
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+CONFIG_I2C_EXYNOS5=y
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_IMX=y
+CONFIG_I2C_MESON=y
+# CONFIG_I2C_MT65XX is not set
+CONFIG_I2C_MV64XXX=y
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_PXA_PCI is not set
+CONFIG_I2C_QUP=y
+# CONFIG_I2C_RIIC is not set
+# CONFIG_I2C_RK3X is not set
+CONFIG_I2C_SH_MOBILE=y
+# CONFIG_I2C_SIMTEC is not set
+CONFIG_I2C_TEGRA=y
+# CONFIG_I2C_UNIPHIER is not set
+CONFIG_I2C_UNIPHIER_F=y
+# CONFIG_I2C_VERSATILE is not set
+# CONFIG_I2C_THUNDERX is not set
+# CONFIG_I2C_XILINX is not set
+# CONFIG_I2C_XLP9XX is not set
+CONFIG_I2C_RCAR=y
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_CROS_EC_TUNNEL=y
+# CONFIG_I2C_XGENE_SLIMPRO is not set
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BCM_QSPI=y
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_FSL_DSPI is not set
+CONFIG_SPI_MESON_SPIFC=m
+# CONFIG_SPI_MT65XX is not set
+# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_ORION=y
+CONFIG_SPI_PL022=y
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_PXA2XX_PCI is not set
+# CONFIG_SPI_ROCKCHIP is not set
+# CONFIG_SPI_RSPI is not set
+CONFIG_SPI_QUP=y
+CONFIG_SPI_S3C64XX=y
+# CONFIG_SPI_SC18IS602 is not set
+CONFIG_SPI_SH_MSIOF=y
+# CONFIG_SPI_SH_MSIOF_TRANSFER_SYNC_DEBUG is not set
+# CONFIG_SPI_SH_HSPI is not set
+# CONFIG_SPI_SUN4I is not set
+# CONFIG_SPI_SUN6I is not set
+# CONFIG_SPI_TEGRA114 is not set
+# CONFIG_SPI_TEGRA20_SFLASH is not set
+# CONFIG_SPI_TEGRA20_SLINK is not set
+# CONFIG_SPI_THUNDERX is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_XLP is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_SPMI=y
+CONFIG_SPMI_MSM_PMIC_ARB=y
+# CONFIG_HSI is not set
+
+#
+# PPS support
+#
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PINCTRL=y
+
+#
+# Pin controllers
+#
+CONFIG_PINMUX=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_AMD is not set
+CONFIG_PINCTRL_MESON=y
+CONFIG_PINCTRL_ROCKCHIP=y
+CONFIG_PINCTRL_SINGLE=y
+CONFIG_PINCTRL_MAX77620=y
+CONFIG_PINCTRL_IPROC_GPIO=y
+CONFIG_PINCTRL_NS2_MUX=y
+# CONFIG_PINCTRL_BERLIN_BG2 is not set
+# CONFIG_PINCTRL_BERLIN_BG2CD is not set
+# CONFIG_PINCTRL_BERLIN_BG2Q is not set
+# CONFIG_PINCTRL_BERLIN_BG4CT is not set
+# CONFIG_PINCTRL_BAYTRAIL is not set
+# CONFIG_PINCTRL_CHERRYVIEW is not set
+# CONFIG_PINCTRL_BROXTON is not set
+# CONFIG_PINCTRL_SUNRISEPOINT is not set
+CONFIG_PINCTRL_MSM=y
+# CONFIG_PINCTRL_APQ8064 is not set
+# CONFIG_PINCTRL_APQ8084 is not set
+# CONFIG_PINCTRL_IPQ4019 is not set
+# CONFIG_PINCTRL_IPQ8064 is not set
+# CONFIG_PINCTRL_MSM8660 is not set
+# CONFIG_PINCTRL_MSM8960 is not set
+# CONFIG_PINCTRL_MDM9615 is not set
+# CONFIG_PINCTRL_MSM8X74 is not set
+CONFIG_PINCTRL_MSM8916=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_PINCTRL_QDF2XXX=y
+CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
+# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set
+CONFIG_PINCTRL_SAMSUNG=y
+CONFIG_PINCTRL_EXYNOS=y
+CONFIG_PINCTRL_SH_PFC=y
+CONFIG_PINCTRL_PFC_R8A7795=y
+CONFIG_PINCTRL_PFC_R8A7796=y
+CONFIG_PINCTRL_SUNXI=y
+# CONFIG_PINCTRL_SUN4I_A10 is not set
+# CONFIG_PINCTRL_SUN5I_A10S is not set
+# CONFIG_PINCTRL_SUN5I_A13 is not set
+# CONFIG_PINCTRL_GR8 is not set
+# CONFIG_PINCTRL_SUN6I_A31 is not set
+# CONFIG_PINCTRL_SUN6I_A31S is not set
+# CONFIG_PINCTRL_SUN6I_A31_R is not set
+# CONFIG_PINCTRL_SUN7I_A20 is not set
+# CONFIG_PINCTRL_SUN8I_A23 is not set
+# CONFIG_PINCTRL_SUN8I_A33 is not set
+# CONFIG_PINCTRL_SUN8I_A83T is not set
+# CONFIG_PINCTRL_SUN8I_A23_R is not set
+# CONFIG_PINCTRL_SUN8I_H3 is not set
+# CONFIG_PINCTRL_SUN8I_H3_R is not set
+# CONFIG_PINCTRL_SUN9I_A80 is not set
+# CONFIG_PINCTRL_SUN9I_A80_R is not set
+CONFIG_PINCTRL_SUN50I_A64=y
+CONFIG_PINCTRL_TEGRA=y
+CONFIG_PINCTRL_TEGRA124=y
+CONFIG_PINCTRL_TEGRA210=y
+CONFIG_PINCTRL_TEGRA_XUSB=y
+CONFIG_PINCTRL_UNIPHIER=y
+# CONFIG_PINCTRL_UNIPHIER_LD4 is not set
+# CONFIG_PINCTRL_UNIPHIER_PRO4 is not set
+# CONFIG_PINCTRL_UNIPHIER_SLD8 is not set
+# CONFIG_PINCTRL_UNIPHIER_PRO5 is not set
+# CONFIG_PINCTRL_UNIPHIER_PXS2 is not set
+# CONFIG_PINCTRL_UNIPHIER_LD6B is not set
+CONFIG_PINCTRL_UNIPHIER_LD11=y
+CONFIG_PINCTRL_UNIPHIER_LD20=y
+CONFIG_PINCTRL_MTK=y
+# CONFIG_PINCTRL_MT2701 is not set
+# CONFIG_PINCTRL_MT7623 is not set
+# CONFIG_PINCTRL_MT8135 is not set
+# CONFIG_PINCTRL_MT8127 is not set
+CONFIG_PINCTRL_MT8173=y
+# CONFIG_PINCTRL_MT6397 is not set
+CONFIG_GPIOLIB=y
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_ACPI=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_AMDPT is not set
+CONFIG_GPIO_DWAPB=y
+CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_MPC8XXX is not set
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_RCAR=y
+# CONFIG_GPIO_SYSCON is not set
+CONFIG_GPIO_TEGRA=y
+# CONFIG_GPIO_VX855 is not set
+CONFIG_GPIO_XGENE=y
+# CONFIG_GPIO_XGENE_SB is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_XLP is not set
+# CONFIG_GPIO_ZYNQ is not set
+# CONFIG_GPIO_ZX is not set
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADP5588 is not set
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_SX150X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# CONFIG_GPIO_TS4900 is not set
+
+#
+# MFD GPIO expanders
+#
+CONFIG_GPIO_MAX77620=y
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_AMD8111 is not set
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_ML_IOH is not set
+# CONFIG_GPIO_RDC321X is not set
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+
+#
+# SPI or I2C GPIO expanders
+#
+# CONFIG_GPIO_MCP23S08 is not set
+
+#
+# USB GPIO expanders
+#
+# CONFIG_W1 is not set
+CONFIG_POWER_AVS=y
+# CONFIG_ROCKCHIP_IODOMAIN is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+# CONFIG_POWER_RESET_HISI is not set
+CONFIG_POWER_RESET_MSM=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_RESTART is not set
+CONFIG_POWER_RESET_VEXPRESS=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
+# CONFIG_POWER_RESET_ZX is not set
+# CONFIG_SYSCON_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_GENERIC_ADC_BATTERY is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SBS is not set
+CONFIG_BATTERY_BQ27XXX=y
+CONFIG_BATTERY_BQ27XXX_I2C=y
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_QCOM_SMBB is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_CHARGER_RT9455 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+CONFIG_SENSORS_ARM_SCPI=y
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_IIO_HWMON is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+CONFIG_SENSORS_LM90=m
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_PWM_FAN is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH56XX_COMMON is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS1015 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+CONFIG_SENSORS_INA2XX=m
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_VEXPRESS is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+
+#
+# ACPI drivers
+#
+# CONFIG_SENSORS_ACPI_POWER is not set
+CONFIG_THERMAL=y
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+# CONFIG_THERMAL_WRITABLE_TRIPS is not set
+# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y
+# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_GOV_STEP_WISE is not set
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
+CONFIG_CPU_THERMAL=y
+# CONFIG_CLOCK_THERMAL is not set
+# CONFIG_DEVFREQ_THERMAL is not set
+CONFIG_THERMAL_EMULATION=y
+# CONFIG_HISI_THERMAL is not set
+# CONFIG_MAX77620_THERMAL is not set
+# CONFIG_QORIQ_THERMAL is not set
+# CONFIG_ROCKCHIP_THERMAL is not set
+# CONFIG_RCAR_THERMAL is not set
+CONFIG_RCAR_GEN3_THERMAL=y
+# CONFIG_ARMADA_THERMAL is not set
+
+#
+# ACPI INT340X thermal drivers
+#
+CONFIG_MTK_THERMAL=y
+
+#
+# Samsung thermal drivers
+#
+CONFIG_EXYNOS_THERMAL=y
+
+#
+# NVIDIA Tegra thermal drivers
+#
+# CONFIG_TEGRA_SOCTHERM is not set
+# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
+# CONFIG_GENERIC_ADC_THERMAL is not set
+
+#
+# Qualcomm thermal drivers
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_WATCHDOG_SYSFS is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_WDAT_WDT is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_ARM_SBSA_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_HAVE_S3C2410_WATCHDOG=y
+CONFIG_S3C2410_WATCHDOG=y
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_SUNXI_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_MAX77620_WATCHDOG is not set
+# CONFIG_IMX2_WDT is not set
+# CONFIG_TEGRA_WATCHDOG is not set
+# CONFIG_QCOM_WDT is not set
+CONFIG_MESON_GXBB_WATCHDOG=m
+CONFIG_MESON_WATCHDOG=m
+# CONFIG_MEDIATEK_WATCHDOG is not set
+CONFIG_RENESAS_WDT=y
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_MEN_A21_WDT is not set
+# CONFIG_XEN_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+
+#
+# Broadcom specific AMBA
+#
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+CONFIG_MFD_CROS_EC=y
+CONFIG_MFD_CROS_EC_I2C=y
+# CONFIG_MFD_CROS_EC_SPI is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_EXYNOS_LPASS is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+CONFIG_MFD_HI655X_PMIC=y
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_INTEL_SOC_PMIC is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+CONFIG_MFD_MAX77620=y
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_QCOM_RPM is not set
+CONFIG_MFD_SPMI_PMIC=y
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RTSX_PCI is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RTSX_USB is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK808 is not set
+# CONFIG_MFD_RN5T618 is not set
+CONFIG_MFD_SEC_CORE=y
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_SMSC is not set
+# CONFIG_ABX500_CORE is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SUN6I_PRCM is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS80031 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+CONFIG_MFD_VEXPRESS_SYSREG=y
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_ANATOP is not set
+CONFIG_REGULATOR_BD9571MWV=y
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_GPIO=y
+CONFIG_REGULATOR_HI655X=y
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+CONFIG_REGULATOR_MAX77620=y
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+CONFIG_REGULATOR_PWM=y
+CONFIG_REGULATOR_QCOM_SMD_RPM=y
+CONFIG_REGULATOR_QCOM_SPMI=y
+# CONFIG_REGULATOR_S2MPA01 is not set
+CONFIG_REGULATOR_S2MPS11=y
+# CONFIG_REGULATOR_S5M8767 is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_REGULATOR_VEXPRESS is not set
+CONFIG_MEDIA_SUPPORT=y
+
+#
+# Multimedia core support
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+# CONFIG_MEDIA_RADIO_SUPPORT is not set
+# CONFIG_MEDIA_SDR_SUPPORT is not set
+# CONFIG_MEDIA_RC_SUPPORT is not set
+CONFIG_MEDIA_CONTROLLER=y
+# CONFIG_MEDIA_CONTROLLER_DVB is not set
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_VIDEO_V4L2=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+# CONFIG_VIDEO_PCI_SKELETON is not set
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_DMA_CONTIG=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_DVB_CORE=y
+# CONFIG_DVB_NET is not set
+# CONFIG_TTPCI_EEPROM is not set
+CONFIG_DVB_MAX_ADAPTERS=8
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+
+#
+# Media drivers
+#
+# CONFIG_MEDIA_USB_SUPPORT is not set
+# CONFIG_MEDIA_PCI_SUPPORT is not set
+CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_VIDEO_CAFE_CCIC is not set
+# CONFIG_VIDEO_SH_VOU is not set
+# CONFIG_SOC_CAMERA is not set
+# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set
+# CONFIG_VIDEO_XILINX is not set
+CONFIG_VIDEO_RCAR_VIN=y
+# CONFIG_VIDEO_RCAR_VIN_DEBUG is not set
+CONFIG_VIDEO_RCAR_CSI2=y
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+# CONFIG_VIDEO_MEDIATEK_VPU is not set
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+# CONFIG_VIDEO_SAMSUNG_S5P_G2D is not set
+# CONFIG_VIDEO_SAMSUNG_S5P_JPEG is not set
+# CONFIG_VIDEO_SAMSUNG_S5P_MFC is not set
+# CONFIG_VIDEO_SH_VEU is not set
+# CONFIG_VIDEO_RENESAS_JPU is not set
+CONFIG_VIDEO_RENESAS_FCP=y
+CONFIG_VIDEO_RENESAS_VSP1=y
+# CONFIG_VIDEO_RENESAS_DEBUG is not set
+CONFIG_VIDEO_RENESAS_VSP_ALPHA_BIT_ARGB1555=0
+# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_DVB_PLATFORM_DRIVERS is not set
+
+#
+# Supported MMC/SDIO adapters
+#
+# CONFIG_SMS_SDIO_DRV is not set
+# CONFIG_CYPRESS_FIRMWARE is not set
+
+#
+# Media ancillary drivers (tuners, sensors, i2c, spi, frontends)
+#
+# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
+CONFIG_MEDIA_ATTACH=y
+
+#
+# I2C Encoders, decoders, sensors and other helper chips
+#
+
+#
+# Audio decoders, processors and mixers
+#
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_MSP3400 is not set
+# CONFIG_VIDEO_CS3308 is not set
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_UDA1342 is not set
+# CONFIG_VIDEO_WM8775 is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+# CONFIG_VIDEO_SONY_BTF_MPX is not set
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_ADV7183 is not set
+CONFIG_VIDEO_ADV7482=y
+# CONFIG_VIDEO_ADV7604 is not set
+# CONFIG_VIDEO_ADV7842 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_ML86V7667 is not set
+# CONFIG_VIDEO_AD5820 is not set
+# CONFIG_VIDEO_SAA7110 is not set
+# CONFIG_VIDEO_SAA711X is not set
+# CONFIG_VIDEO_TC358743 is not set
+# CONFIG_VIDEO_TVP514X is not set
+# CONFIG_VIDEO_TVP5150 is not set
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_TW2804 is not set
+# CONFIG_VIDEO_TW9903 is not set
+# CONFIG_VIDEO_TW9906 is not set
+# CONFIG_VIDEO_VPX3220 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_SAA717X is not set
+# CONFIG_VIDEO_CX25840 is not set
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_ADV7393 is not set
+# CONFIG_VIDEO_ADV7511 is not set
+# CONFIG_VIDEO_AD9389B is not set
+# CONFIG_VIDEO_AK881X is not set
+# CONFIG_VIDEO_THS8200 is not set
+
+#
+# Camera sensor devices
+#
+# CONFIG_VIDEO_OV2659 is not set
+# CONFIG_VIDEO_OV7640 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_OV9650 is not set
+# CONFIG_VIDEO_VS6624 is not set
+# CONFIG_VIDEO_MT9M032 is not set
+# CONFIG_VIDEO_MT9M111 is not set
+# CONFIG_VIDEO_MT9P031 is not set
+# CONFIG_VIDEO_MT9T001 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V032 is not set
+# CONFIG_VIDEO_SR030PC30 is not set
+# CONFIG_VIDEO_NOON010PC30 is not set
+# CONFIG_VIDEO_M5MOLS is not set
+# CONFIG_VIDEO_S5K6AA is not set
+# CONFIG_VIDEO_S5K6A3 is not set
+# CONFIG_VIDEO_S5K4ECGX is not set
+# CONFIG_VIDEO_S5K5BAF is not set
+# CONFIG_VIDEO_SMIAPP is not set
+# CONFIG_VIDEO_S5C73M3 is not set
+
+#
+# Flash devices
+#
+# CONFIG_VIDEO_ADP1653 is not set
+# CONFIG_VIDEO_AS3645A is not set
+# CONFIG_VIDEO_LM3560 is not set
+# CONFIG_VIDEO_LM3646 is not set
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+
+#
+# Audio/Video compression chips
+#
+# CONFIG_VIDEO_SAA6752HS is not set
+
+#
+# Miscellaneous helper chips
+#
+# CONFIG_VIDEO_THS7303 is not set
+# CONFIG_VIDEO_M52790 is not set
+
+#
+# Sensors used on soc_camera driver
+#
+
+#
+# SPI helper chips
+#
+# CONFIG_VIDEO_GS1662 is not set
+CONFIG_MEDIA_TUNER=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MSI001=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_M88RS6000T=m
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_SI2157=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_R820T=m
+CONFIG_MEDIA_TUNER_MXL301RF=m
+CONFIG_MEDIA_TUNER_QM1D1C0042=m
+
+#
+# Customise DVB Frontends
+#
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+CONFIG_DVB_STV6110x=m
+CONFIG_DVB_M88DS3103=m
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_TDA18271C2DD=m
+CONFIG_DVB_SI2165=m
+CONFIG_DVB_MN88472=m
+CONFIG_DVB_MN88473=m
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_ZL10036=m
+CONFIG_DVB_ZL10039=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8261=m
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_CX24117=m
+CONFIG_DVB_CX24120=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_TS2020=m
+CONFIG_DVB_DS3000=m
+CONFIG_DVB_MB86A16=m
+CONFIG_DVB_TDA10071=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_S5H1432=m
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_DIB9000=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_HD29L2=m
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+CONFIG_DVB_SI2168=m
+# CONFIG_DVB_AS102_FE is not set
+# CONFIG_DVB_GP8PSK_FE is not set
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+CONFIG_DVB_OR51211=m
+CONFIG_DVB_OR51132=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LGDT3306A=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_S921=m
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_TC90522=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_DRX39XYJ=m
+CONFIG_DVB_LNBH25=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_A8293=m
+CONFIG_DVB_SP2=m
+CONFIG_DVB_LGS8GL5=m
+CONFIG_DVB_LGS8GXX=m
+CONFIG_DVB_ATBM8830=m
+CONFIG_DVB_TDA665x=m
+CONFIG_DVB_IX2505V=m
+CONFIG_DVB_M88RS2000=m
+CONFIG_DVB_AF9033=m
+CONFIG_DVB_HORUS3A=m
+CONFIG_DVB_ASCOT2E=m
+CONFIG_DVB_HELENE=m
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+
+#
+# Graphics support
+#
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+CONFIG_TEGRA_HOST1X=m
+CONFIG_TEGRA_HOST1X_FIREWALL=y
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_KMS_FB_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_TTM=m
+CONFIG_DRM_GEM_CMA_HELPER=y
+CONFIG_DRM_KMS_CMA_HELPER=y
+
+#
+# I2C encoder or helper chips
+#
+CONFIG_DRM_I2C_CH7006=m
+CONFIG_DRM_I2C_SIL164=m
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_HDLCD is not set
+# CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+
+#
+# ACP (Audio CoProcessor) Configuration
+#
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_PLATFORM_DRIVER=y
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+# CONFIG_DRM_VGEM is not set
+# CONFIG_DRM_EXYNOS is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+CONFIG_DRM_RCAR_DU=y
+CONFIG_DRM_RCAR_HDMI=y
+CONFIG_DRM_RCAR_LVDS=y
+CONFIG_DRM_RCAR_VSP=y
+# CONFIG_DRM_QXL is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_VIRTIO_GPU is not set
+CONFIG_DRM_MSM=y
+# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
+CONFIG_DRM_MSM_HDMI_HDCP=y
+CONFIG_DRM_MSM_DSI=y
+CONFIG_DRM_MSM_DSI_PLL=y
+CONFIG_DRM_MSM_DSI_28NM_PHY=y
+CONFIG_DRM_MSM_DSI_20NM_PHY=y
+CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y
+CONFIG_DRM_TEGRA=m
+# CONFIG_DRM_TEGRA_DEBUG is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+CONFIG_DRM_PANEL_SIMPLE=m
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+CONFIG_DRM_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_DUMB_VGA_DAC is not set
+CONFIG_DRM_DW_HDMI=y
+# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_I2C_ADV7511=m
+CONFIG_DRM_I2C_ADV7533=y
+# CONFIG_DRM_ARCPGU is not set
+CONFIG_DRM_HISI_KIRIN=m
+CONFIG_HISI_KIRIN_DW_DSI=m
+# CONFIG_DRM_MEDIATEK is not set
+# CONFIG_DRM_LEGACY is not set
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_CMDLINE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+CONFIG_FB_ARMCLCD=y
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SH_MOBILE_LCDC is not set
+# CONFIG_FB_S3C is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+CONFIG_XEN_FBDEV_FRONTEND=y
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_BROADSHEET is not set
+# CONFIG_FB_AUO_K190X is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SH_MOBILE_MERAM is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=m
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+# CONFIG_LCD_PLATFORM is not set
+# CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=m
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_PM8941_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+CONFIG_BACKLIGHT_LP855X=m
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_VGASTATE is not set
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=y
+# CONFIG_SOUND_OSS_CORE is not set
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_SEQUENCER is not set
+# CONFIG_SND_MIXER_OSS is not set
+# CONFIG_SND_PCM_OSS is not set
+CONFIG_SND_PCM_TIMER=y
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_RAWMIDI_SEQ is not set
+# CONFIG_SND_OPL3_LIB_SEQ is not set
+# CONFIG_SND_OPL4_LIB_SEQ is not set
+# CONFIG_SND_SBAWE_SEQ is not set
+# CONFIG_SND_EMU10K1_SEQ is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_ALOOP is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDA_TEGRA is not set
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+# CONFIG_SND_BCD2000 is not set
+# CONFIG_SND_USB_POD is not set
+# CONFIG_SND_USB_PODHD is not set
+# CONFIG_SND_USB_TONEPORT is not set
+# CONFIG_SND_USB_VARIAX is not set
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# CONFIG_SND_KIRKWOOD_SOC is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MT2701 is not set
+# CONFIG_SND_SOC_MT8173 is not set
+# CONFIG_SND_SOC_QCOM is not set
+# CONFIG_SND_SOC_ROCKCHIP is not set
+CONFIG_SND_SOC_SAMSUNG=y
+# CONFIG_SND_SAMSUNG_PCM is not set
+# CONFIG_SND_SAMSUNG_SPDIF is not set
+# CONFIG_SND_SAMSUNG_I2S is not set
+# CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994 is not set
+# CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF is not set
+# CONFIG_SND_SOC_SMDK_WM8994_PCM is not set
+# CONFIG_SND_SOC_SNOW is not set
+# CONFIG_SND_SOC_ARNDALE_RT5631_ALC5631 is not set
+
+#
+# SoC Audio support for SuperH
+#
+# CONFIG_SND_SOC_SH4_FSI is not set
+CONFIG_SND_SOC_RCAR=y
+
+#
+# Allwinner SoC Audio support
+#
+# CONFIG_SND_SUN4I_CODEC is not set
+# CONFIG_SND_SUN4I_I2S is not set
+# CONFIG_SND_SUN4I_SPDIF is not set
+# CONFIG_SND_SOC_TEGRA is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+CONFIG_SND_SOC_AK4613=y
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+CONFIG_SND_SOC_HDMI_CODEC=y
+# CONFIG_SND_SOC_ES8328 is not set
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5677_SPI is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC3X is not set
+# CONFIG_SND_SOC_TS3A227E is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731 is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+CONFIG_SND_SIMPLE_CARD_UTILS=y
+CONFIG_SND_SIMPLE_CARD=y
+# CONFIG_SND_SIMPLE_SCU_CARD is not set
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID support
+#
+CONFIG_HID=y
+# CONFIG_HID_BATTERY_STRENGTH is not set
+# CONFIG_HIDRAW is not set
+# CONFIG_UHID is not set
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACRUX is not set
+CONFIG_HID_APPLE=y
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_AUREAL is not set
+CONFIG_HID_BELKIN=y
+# CONFIG_HID_BETOP_FF is not set
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+CONFIG_HID_CYPRESS=y
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+CONFIG_HID_EZKEY=y
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+# CONFIG_HID_UCLOGIC is not set
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_TWINHAN is not set
+CONFIG_HID_KENSINGTON=y
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+CONFIG_HID_LOGITECH=y
+# CONFIG_HID_LOGITECH_HIDPP is not set
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWHEELS_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+# CONFIG_USB_MON is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_PCI=y
+CONFIG_USB_XHCI_PLATFORM=y
+# CONFIG_USB_XHCI_MTK is not set
+# CONFIG_USB_XHCI_MVEBU is not set
+CONFIG_USB_XHCI_RCAR=y
+CONFIG_USB_XHCI_TEGRA=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_EHCI_MSM=y
+# CONFIG_USB_EHCI_TEGRA is not set
+CONFIG_USB_EHCI_EXYNOS=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1362_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_EXYNOS=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_RENESAS_USBHS_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+CONFIG_USB_RENESAS_USBHS=y
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+# CONFIG_USB_UAS is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_USB_MUSB_HDRC is not set
+CONFIG_USB_DWC3=y
+# CONFIG_USB_DWC3_HOST is not set
+# CONFIG_USB_DWC3_GADGET is not set
+CONFIG_USB_DWC3_DUAL_ROLE=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_EXYNOS=y
+CONFIG_USB_DWC3_PCI=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC2=y
+# CONFIG_USB_DWC2_HOST is not set
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PERIPHERAL is not set
+CONFIG_USB_DWC2_DUAL_ROLE=y
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_OF=y
+CONFIG_USB_CHIPIDEA_UDC=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1761_UDC=y
+# CONFIG_USB_ISP1760_HOST_ROLE is not set
+# CONFIG_USB_ISP1760_GADGET_ROLE is not set
+CONFIG_USB_ISP1760_DUAL_ROLE=y
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+CONFIG_USB_HSIC_USB3503=y
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_UCSI is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+CONFIG_USB_MSM_OTG=y
+# CONFIG_USB_QCOM_8X16_PHY is not set
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_FOTG210_UDC is not set
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+CONFIG_USB_RENESAS_USBHS_UDC=y
+CONFIG_USB_RENESAS_USB3=y
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_BDC_UDC is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_GADGET_XILINX is not set
+# CONFIG_USB_DUMMY_HCD is not set
+# CONFIG_USB_CONFIGFS is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_MASS_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+# CONFIG_USB_LED_TRIG is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_ARMMMCI=y
+CONFIG_MMC_QCOM_DML=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_ACPI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+CONFIG_MMC_SDHCI_OF_ESDHC=y
+CONFIG_MMC_SDHCI_TEGRA=y
+# CONFIG_MMC_SDHCI_PXAV3 is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+CONFIG_MMC_SDHCI_IPROC=y
+CONFIG_MMC_SDHCI_MSM=y
+# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_SPI=y
+CONFIG_MMC_TMIO_CORE=y
+CONFIG_MMC_SDHI=y
+# CONFIG_MMC_SDHI_PIO is not set
+# CONFIG_MMC_SDHI_SEQ_WORKAROUND is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+CONFIG_MMC_DW_EXYNOS=y
+CONFIG_MMC_DW_K3=y
+# CONFIG_MMC_DW_PCI is not set
+# CONFIG_MMC_DW_ROCKCHIP is not set
+# CONFIG_MMC_SH_MMCIF is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+CONFIG_MMC_SUNXI=y
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+# CONFIG_LEDS_CLASS_FLASH is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_LP5523 is not set
+# CONFIG_LEDS_LP5562 is not set
+# CONFIG_LEDS_LP8501 is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+CONFIG_LEDS_SYSCON=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_DISK is not set
+# CONFIG_LEDS_TRIGGER_MTD is not set
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+CONFIG_LEDS_TRIGGER_CPU=y
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+CONFIG_RTC_DRV_MAX77686=y
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+CONFIG_RTC_DRV_S5M=y
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS3232=y
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+CONFIG_RTC_DRV_EFI=y
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_HAVE_S3C_RTC=y
+CONFIG_RTC_DRV_S3C=y
+# CONFIG_RTC_DRV_PL030 is not set
+CONFIG_RTC_DRV_PL031=y
+CONFIG_RTC_DRV_SUN6I=y
+# CONFIG_RTC_DRV_MV is not set
+# CONFIG_RTC_DRV_ARMADA38X is not set
+# CONFIG_RTC_DRV_PM8XXX is not set
+CONFIG_RTC_DRV_TEGRA=y
+# CONFIG_RTC_DRV_SNVS is not set
+CONFIG_RTC_DRV_XGENE=y
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_ACPI=y
+CONFIG_DMA_OF=y
+# CONFIG_AMBA_PL08X is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_K3_DMA is not set
+# CONFIG_MV_XOR is not set
+# CONFIG_MV_XOR_V2 is not set
+CONFIG_PL330_DMA=y
+CONFIG_TEGRA20_APB_DMA=y
+# CONFIG_TEGRA210_ADMA is not set
+# CONFIG_XGENE_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_ZYNQMP_DMA is not set
+# CONFIG_ZX_DMA is not set
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+CONFIG_RENESAS_DMA=y
+CONFIG_SH_DMAE_BASE=y
+# CONFIG_SH_DMAE is not set
+CONFIG_RCAR_DMAC=y
+CONFIG_RENESAS_USB_DMAC=y
+# CONFIG_SUDMAC is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_SW_SYNC is not set
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+CONFIG_VFIO_IOMMU_TYPE1=y
+CONFIG_VFIO_VIRQFD=y
+CONFIG_VFIO=y
+# CONFIG_VFIO_NOIOMMU is not set
+CONFIG_VFIO_PCI=y
+CONFIG_VFIO_PCI_MMAP=y
+CONFIG_VFIO_PCI_INTX=y
+# CONFIG_VFIO_PLATFORM is not set
+CONFIG_IRQ_BYPASS_MANAGER=y
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO=y
+
+#
+# Virtio drivers
+#
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_BALLOON=y
+# CONFIG_VIRTIO_INPUT is not set
+CONFIG_VIRTIO_MMIO=y
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+
+#
+# Xen driver support
+#
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_DEV_EVTCHN=y
+CONFIG_XEN_BACKEND=y
+CONFIG_XENFS=y
+CONFIG_XEN_COMPAT_XENFS=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XEN_GNTDEV=y
+CONFIG_XEN_GRANT_DEV_ALLOC=y
+CONFIG_SWIOTLB_XEN=y
+CONFIG_XEN_PRIVCMD=y
+CONFIG_XEN_EFI=y
+CONFIG_XEN_AUTO_XLATE=y
+# CONFIG_STAGING is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_CHROME_PLATFORMS=y
+# CONFIG_CROS_EC_CHARDEV is not set
+CONFIG_CROS_EC_PROTO=y
+# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Common Clock Framework
+#
+CONFIG_COMMON_CLK_VERSATILE=y
+CONFIG_CLK_SP810=y
+CONFIG_CLK_VEXPRESS_OSC=y
+# CONFIG_COMMON_CLK_MAX77686 is not set
+CONFIG_COMMON_CLK_SCPI=y
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+CONFIG_COMMON_CLK_CS2000_CP=y
+CONFIG_COMMON_CLK_S2MPS11=y
+CONFIG_CLK_QORIQ=y
+CONFIG_COMMON_CLK_XGENE=y
+# CONFIG_COMMON_CLK_NXP is not set
+# CONFIG_COMMON_CLK_PWM is not set
+CONFIG_COMMON_CLK_5P49X=y
+# CONFIG_COMMON_CLK_PXA is not set
+# CONFIG_COMMON_CLK_PIC32 is not set
+CONFIG_COMMON_CLK_IPROC=y
+CONFIG_CLK_BCM_NS2=y
+CONFIG_COMMON_CLK_HI3519=y
+CONFIG_COMMON_CLK_HI6220=y
+CONFIG_RESET_HISI=y
+# CONFIG_STUB_CLK_HI6220 is not set
+CONFIG_COMMON_CLK_MEDIATEK=y
+CONFIG_COMMON_CLK_MT8135=y
+CONFIG_COMMON_CLK_MT8173=y
+CONFIG_COMMON_CLK_AMLOGIC=y
+CONFIG_COMMON_CLK_GXBB=y
+CONFIG_ARMADA_37XX_CLK=y
+CONFIG_ARMADA_AP806_SYSCON=y
+CONFIG_ARMADA_CP110_SYSCON=y
+CONFIG_QCOM_GDSC=y
+CONFIG_COMMON_CLK_QCOM=y
+# CONFIG_APQ_GCC_8084 is not set
+# CONFIG_APQ_MMCC_8084 is not set
+# CONFIG_IPQ_GCC_4019 is not set
+# CONFIG_IPQ_GCC_806X is not set
+# CONFIG_IPQ_LCC_806X is not set
+# CONFIG_MSM_GCC_8660 is not set
+CONFIG_MSM_GCC_8916=y
+# CONFIG_MSM_GCC_8960 is not set
+# CONFIG_MSM_LCC_8960 is not set
+# CONFIG_MDM_GCC_9615 is not set
+# CONFIG_MDM_LCC_9615 is not set
+# CONFIG_MSM_MMCC_8960 is not set
+# CONFIG_MSM_GCC_8974 is not set
+# CONFIG_MSM_MMCC_8974 is not set
+CONFIG_MSM_GCC_8996=y
+CONFIG_MSM_MMCC_8996=y
+CONFIG_CLK_RENESAS_CPG_MSSR=y
+CONFIG_COMMON_CLK_SAMSUNG=y
+CONFIG_EXYNOS_ARM64_COMMON_CLK=y
+CONFIG_EXYNOS_AUDSS_CLK_CON=y
+CONFIG_SUNXI_CCU=y
+# CONFIG_SUN6I_A31_CCU is not set
+# CONFIG_SUN8I_A23_CCU is not set
+# CONFIG_SUN8I_A33_CCU is not set
+# CONFIG_SUN8I_H3_CCU is not set
+CONFIG_CLK_UNIPHIER=y
+CONFIG_HWSPINLOCK=y
+
+#
+# Hardware Spinlock drivers
+#
+CONFIG_HWSPINLOCK_QCOM=y
+CONFIG_HWSPINLOCK_RCAR=y
+
+#
+# Clock Source drivers
+#
+CONFIG_CLKSRC_OF=y
+CONFIG_CLKSRC_ACPI=y
+CONFIG_CLKSRC_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_ARM_TIMER_SP804=y
+# CONFIG_ATMEL_PIT is not set
+CONFIG_MTK_TIMER=y
+# CONFIG_SH_TIMER_CMT is not set
+# CONFIG_SH_TIMER_MTU2 is not set
+# CONFIG_SH_TIMER_TMU is not set
+# CONFIG_EM_TIMER_STI is not set
+CONFIG_CLKSRC_VERSATILE=y
+CONFIG_MAILBOX=y
+CONFIG_ARM_MHU=y
+# CONFIG_PLATFORM_MHU is not set
+# CONFIG_PL320_MBOX is not set
+# CONFIG_ROCKCHIP_MBOX is not set
+# CONFIG_PCC is not set
+# CONFIG_ALTERA_MBOX is not set
+CONFIG_HI6220_MBOX=y
+# CONFIG_MAILBOX_TEST is not set
+# CONFIG_XGENE_SLIMPRO_MBOX is not set
+CONFIG_BCM_PDC_MBOX=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+# CONFIG_EXYNOS_IOMMU is not set
+# CONFIG_IPMMU_VMSA is not set
+CONFIG_ARM_SMMU=y
+# CONFIG_ARM_SMMU_V3 is not set
+# CONFIG_MTK_IOMMU is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_STE_MODEM_RPROC is not set
+# CONFIG_QCOM_Q6V5_PIL is not set
+# CONFIG_QCOM_WCNSS_PIL is not set
+
+#
+# Rpmsg drivers
+#
+CONFIG_RPMSG=y
+CONFIG_RPMSG_VIRTIO=y
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Broadcom SoC drivers
+#
+CONFIG_MTK_INFRACFG=y
+# CONFIG_MTK_PMIC_WRAP is not set
+CONFIG_MTK_SCPSYS=y
+# CONFIG_QCOM_GSBI is not set
+CONFIG_QCOM_SMEM=y
+CONFIG_QCOM_SMD=y
+CONFIG_QCOM_SMD_RPM=y
+# CONFIG_QCOM_SMP2P is not set
+# CONFIG_QCOM_SMSM is not set
+# CONFIG_QCOM_WCNSS_CTRL is not set
+# CONFIG_ROCKCHIP_PM_DOMAINS is not set
+CONFIG_SOC_SAMSUNG=y
+CONFIG_SUNXI_SRAM=y
+CONFIG_ARCH_TEGRA_132_SOC=y
+CONFIG_ARCH_TEGRA_210_SOC=y
+# CONFIG_SOC_TI is not set
+CONFIG_RCAR_THERMAL_EMS_ENABLED=y
+CONFIG_RCAR_DDR_BACKUP=y
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+CONFIG_DEVFREQ_GOV_PASSIVE=y
+
+#
+# DEVFREQ Drivers
+#
+# CONFIG_ARM_EXYNOS_BUS_DEVFREQ is not set
+# CONFIG_ARM_RK3399_DMC_DEVFREQ is not set
+# CONFIG_PM_DEVFREQ_EVENT is not set
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USB_GPIO=y
+# CONFIG_MEMORY is not set
+CONFIG_IIO=y
+# CONFIG_IIO_BUFFER is not set
+# CONFIG_IIO_CONFIGFS is not set
+# CONFIG_IIO_TRIGGER is not set
+# CONFIG_IIO_SW_DEVICE is not set
+# CONFIG_IIO_SW_TRIGGER is not set
+
+#
+# Accelerometers
+#
+# CONFIG_BMA180 is not set
+# CONFIG_BMA220 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_DMARD06 is not set
+# CONFIG_DMARD09 is not set
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MC3230 is not set
+# CONFIG_MMA7455_I2C is not set
+# CONFIG_MMA7455_SPI is not set
+# CONFIG_MMA7660 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_MXC6255 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7266 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7791 is not set
+# CONFIG_AD7793 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7923 is not set
+# CONFIG_AD799X is not set
+# CONFIG_BCM_IPROC_ADC is not set
+# CONFIG_BERLIN2_ADC is not set
+# CONFIG_CC10001_ADC is not set
+CONFIG_EXYNOS_ADC=y
+# CONFIG_HI8435 is not set
+# CONFIG_INA2XX_ADC is not set
+# CONFIG_LTC2485 is not set
+# CONFIG_MAX1027 is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_MEDIATEK_MT6577_AUXADC is not set
+# CONFIG_NAU7802 is not set
+# CONFIG_QCOM_SPMI_IADC is not set
+# CONFIG_QCOM_SPMI_VADC is not set
+# CONFIG_ROCKCHIP_SARADC is not set
+# CONFIG_TI_ADC081C is not set
+# CONFIG_TI_ADC0832 is not set
+# CONFIG_TI_ADC12138 is not set
+# CONFIG_TI_ADC128S052 is not set
+# CONFIG_TI_ADC161S626 is not set
+# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS8688 is not set
+# CONFIG_VF610_ADC is not set
+
+#
+# Amplifiers
+#
+# CONFIG_AD8366 is not set
+
+#
+# Chemical Sensors
+#
+# CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_IAQCORE is not set
+# CONFIG_VZ89X is not set
+
+#
+# Hid Sensor IIO Common
+#
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD5064 is not set
+# CONFIG_AD5360 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5421 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5449 is not set
+# CONFIG_AD5592R is not set
+# CONFIG_AD5593R is not set
+# CONFIG_AD5504 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_AD5686 is not set
+# CONFIG_AD5755 is not set
+# CONFIG_AD5761 is not set
+# CONFIG_AD5764 is not set
+# CONFIG_AD5791 is not set
+# CONFIG_AD7303 is not set
+# CONFIG_AD8801 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MAX5821 is not set
+# CONFIG_MCP4725 is not set
+# CONFIG_MCP4922 is not set
+# CONFIG_VF610_DAC is not set
+
+#
+# IIO dummy driver
+#
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+# CONFIG_AD9523 is not set
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+# CONFIG_ADF4350 is not set
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16136 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADXRS450 is not set
+# CONFIG_BMG160 is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+
+#
+# Health Sensors
+#
+
+#
+# Heart Rate Monitors
+#
+# CONFIG_AFE4403 is not set
+# CONFIG_AFE4404 is not set
+# CONFIG_MAX30100 is not set
+
+#
+# Humidity sensors
+#
+# CONFIG_AM2315 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADIS16480 is not set
+# CONFIG_BMI160_I2C is not set
+# CONFIG_BMI160_SPI is not set
+# CONFIG_KMX61 is not set
+# CONFIG_INV_MPU6050_I2C is not set
+# CONFIG_INV_MPU6050_SPI is not set
+
+#
+# Light sensors
+#
+# CONFIG_ACPI_ALS is not set
+# CONFIG_ADJD_S311 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_BH1780 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM36651 is not set
+# CONFIG_GP2AP020A00F is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_MAX44000 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_SI1145 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
+# CONFIG_SENSORS_TSL2563 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+# CONFIG_VEML6070 is not set
+
+#
+# Magnetometer sensors
+#
+# CONFIG_AK8974 is not set
+# CONFIG_AK8975 is not set
+# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN_I2C is not set
+# CONFIG_BMC150_MAGN_SPI is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+# CONFIG_SENSORS_HMC5843_I2C is not set
+# CONFIG_SENSORS_HMC5843_SPI is not set
+
+#
+# Inclinometer sensors
+#
+
+#
+# Digital potentiometers
+#
+# CONFIG_DS1803 is not set
+# CONFIG_MAX5487 is not set
+# CONFIG_MCP4131 is not set
+# CONFIG_MCP4531 is not set
+# CONFIG_TPL0102 is not set
+
+#
+# Pressure sensors
+#
+# CONFIG_BMP280 is not set
+# CONFIG_HP03 is not set
+# CONFIG_MPL115_I2C is not set
+# CONFIG_MPL115_SPI is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+# CONFIG_HP206C is not set
+# CONFIG_ZPA2326 is not set
+
+#
+# Lightning sensors
+#
+# CONFIG_AS3935 is not set
+
+#
+# Proximity sensors
+#
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_SX9500 is not set
+
+#
+# Temperature sensors
+#
+# CONFIG_MAXIM_THERMOCOUPLE is not set
+# CONFIG_MLX90614 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_NTB is not set
+# CONFIG_VME_BUS is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_BCM_IPROC is not set
+# CONFIG_PWM_BERLIN is not set
+# CONFIG_PWM_CROS_EC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_MESON is not set
+# CONFIG_PWM_MTK_DISP is not set
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_PWM_RCAR=y
+# CONFIG_PWM_RENESAS_TPU is not set
+# CONFIG_PWM_ROCKCHIP is not set
+CONFIG_PWM_SAMSUNG=y
+# CONFIG_PWM_SUN4I is not set
+CONFIG_PWM_TEGRA=m
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ALPINE_MSI=y
+CONFIG_DW_APB_ICTL=y
+CONFIG_HISILICON_IRQ_MBIGEN=y
+CONFIG_RENESAS_IRQC=y
+CONFIG_MVEBU_ODMI=y
+CONFIG_MVEBU_PIC=y
+CONFIG_LS_SCFG_MSI=y
+CONFIG_PARTITION_PERCPU=y
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+# CONFIG_RESET_ATH79 is not set
+CONFIG_RESET_BERLIN=y
+# CONFIG_RESET_LPC18XX is not set
+CONFIG_RESET_MESON=y
+# CONFIG_RESET_PISTACHIO is not set
+# CONFIG_RESET_SOCFPGA is not set
+# CONFIG_RESET_STM32 is not set
+CONFIG_RESET_SUNXI=y
+# CONFIG_TI_SYSCON_RESET is not set
+CONFIG_RESET_UNIPHIER=y
+# CONFIG_RESET_ZYNQ is not set
+CONFIG_COMMON_RESET_HI6220=y
+# CONFIG_FMC is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_BCM_NS_USB2 is not set
+# CONFIG_PHY_BCM_NS_USB3 is not set
+# CONFIG_PHY_BERLIN_USB is not set
+# CONFIG_PHY_BERLIN_SATA is not set
+CONFIG_PHY_EXYNOS_MIPI_VIDEO=y
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_RCAR_GEN2 is not set
+CONFIG_PHY_RCAR_GEN3_USB2=y
+# CONFIG_PHY_RCAR_GEN3_USB2_CLKSEL is not set
+# CONFIG_PHY_RCAR_GEN3_USB3 is not set
+CONFIG_PHY_EXYNOS_DP_VIDEO=y
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# CONFIG_PHY_MT65XX_USB3 is not set
+CONFIG_PHY_HI6220_USB=y
+# CONFIG_PHY_SUN4I_USB is not set
+# CONFIG_PHY_SUN9I_USB is not set
+CONFIG_PHY_SAMSUNG_USB2=y
+# CONFIG_PHY_EXYNOS4210_USB2 is not set
+# CONFIG_PHY_EXYNOS4X12_USB2 is not set
+# CONFIG_PHY_EXYNOS5250_USB2 is not set
+CONFIG_PHY_EXYNOS5_USBDRD=y
+# CONFIG_PHY_QCOM_APQ8064_SATA is not set
+# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
+# CONFIG_PHY_ROCKCHIP_USB is not set
+# CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set
+# CONFIG_PHY_ROCKCHIP_EMMC is not set
+# CONFIG_PHY_ROCKCHIP_DP is not set
+# CONFIG_PHY_ROCKCHIP_PCIE is not set
+# CONFIG_PHY_ROCKCHIP_TYPEC is not set
+CONFIG_PHY_XGENE=y
+# CONFIG_PHY_QCOM_UFS is not set
+CONFIG_PHY_BRCM_SATA=y
+CONFIG_PHY_TEGRA_XUSB=y
+CONFIG_PHY_NS2_PCIE=y
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+CONFIG_ARM_PMU=y
+# CONFIG_XGENE_PMU is not set
+CONFIG_RAS=y
+# CONFIG_THUNDERBOLT is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID is not set
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DEV_DAX is not set
+# CONFIG_NVMEM is not set
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+
+#
+# FPGA Configuration Support
+#
+# CONFIG_FPGA is not set
+
+#
+# Firmware Drivers
+#
+CONFIG_ARM_PSCI_FW=y
+CONFIG_ARM_SCPI_PROTOCOL=y
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
+# CONFIG_FIRMWARE_MEMMAP is not set
+CONFIG_DMIID=y
+# CONFIG_DMI_SYSFS is not set
+# CONFIG_FW_CFG_SYSFS is not set
+CONFIG_QCOM_SCM=y
+CONFIG_QCOM_SCM_64=y
+CONFIG_HAVE_ARM_SMCCC=y
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+# CONFIG_EFI_VARS is not set
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_ARMSTUB=y
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+CONFIG_MESON_SM=y
+CONFIG_ACPI=y
+CONFIG_ACPI_GENERIC_GSI=y
+CONFIG_ACPI_CCA_REQUIRED=y
+# CONFIG_ACPI_DEBUGGER is not set
+CONFIG_ACPI_SPCR_TABLE=y
+# CONFIG_ACPI_EC_DEBUGFS is not set
+CONFIG_ACPI_BUTTON=y
+CONFIG_ACPI_FAN=y
+# CONFIG_ACPI_DOCK is not set
+CONFIG_ACPI_PROCESSOR_IDLE=y
+CONFIG_ACPI_MCFG=y
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ACPI_THERMAL=y
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ACPI_TABLE_UPGRADE=y
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_CONTAINER=y
+# CONFIG_ACPI_HED is not set
+# CONFIG_ACPI_CUSTOM_METHOD is not set
+CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
+# CONFIG_PMIC_OPREGION is not set
+# CONFIG_ACPI_CONFIGFS is not set
+CONFIG_ACPI_IORT=y
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+# CONFIG_EXT4_FS_SECURITY is not set
+# CONFIG_EXT4_ENCRYPTION is not set
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+# CONFIG_FS_DAX is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+CONFIG_MANDATORY_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+# CONFIG_QUOTA_DEBUG is not set
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_OVERLAY_FS=m
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROC_CHILDREN is not set
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_TMPFS_XATTR is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=y
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_LOGFS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
+# CONFIG_SQUASHFS_LZ4 is not set
+# CONFIG_SQUASHFS_LZO is not set
+# CONFIG_SQUASHFS_XZ is not set
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V2=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_SWAP is not set
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=y
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+# CONFIG_NFS_V4_1_MIGRATION is not set
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_ROOT_NFS=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFSD is not set
+CONFIG_GRACE_PERIOD=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_SUNRPC_BACKCHANNEL=y
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=y
+# CONFIG_9P_FS_POSIX_ACL is not set
+# CONFIG_9P_FS_SECURITY is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_KVM_VFIO=y
+CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_KVM_COMPAT=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM_ARM_VGIC_V3_ITS=y
+CONFIG_KVM=y
+CONFIG_KVM_ARM_HOST=y
+CONFIG_KVM_ARM_PMU=y
+# CONFIG_VHOST_NET is not set
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_DYNAMIC_DEBUG is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_INFO_REDUCED is not set
+# CONFIG_DEBUG_INFO_SPLIT is not set
+# CONFIG_DEBUG_INFO_DWARF4 is not set
+# CONFIG_GDB_SCRIPTS is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_PAGE_OWNER is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_DEBUG_KERNEL=y
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_VM is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_HAVE_ARCH_KASAN=y
+# CONFIG_KASAN is not set
+CONFIG_ARCH_HAS_KCOV=y
+# CONFIG_KCOV is not set
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Lockups and Hangs
+#
+CONFIG_LOCKUP_DETECTOR=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHED_INFO=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_SCHED_STACK_END_CHECK is not set
+# CONFIG_DEBUG_TIMEKEEPING is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_PREEMPT is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_STACKTRACE is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_HAVE_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PI_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CREDENTIALS is not set
+
+#
+# RCU Debugging
+#
+# CONFIG_PROVE_RCU is not set
+# CONFIG_SPARSE_RCU_POINTER is not set
+# CONFIG_TORTURE_TEST is not set
+# CONFIG_RCU_PERF_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+
+#
+# Runtime Testing
+#
+# CONFIG_LKDTM is not set
+# CONFIG_TEST_LIST_SORT is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_RBTREE_TEST is not set
+# CONFIG_INTERVAL_TREE_TEST is not set
+# CONFIG_PERCPU_TEST is not set
+# CONFIG_ATOMIC64_SELFTEST is not set
+# CONFIG_TEST_HEXDUMP is not set
+# CONFIG_TEST_STRING_HELPERS is not set
+# CONFIG_TEST_KSTRTOX is not set
+# CONFIG_TEST_PRINTF is not set
+# CONFIG_TEST_BITMAP is not set
+# CONFIG_TEST_UUID is not set
+# CONFIG_TEST_RHASHTABLE is not set
+# CONFIG_TEST_HASH is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_TEST_LKM is not set
+# CONFIG_TEST_USER_COPY is not set
+# CONFIG_TEST_BPF is not set
+# CONFIG_TEST_FIRMWARE is not set
+# CONFIG_TEST_UDELAY is not set
+CONFIG_MEMTEST=y
+# CONFIG_TEST_STATIC_KEYS is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_ARCH_WANTS_UBSAN_NO_NULL is not set
+# CONFIG_UBSAN is not set
+CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
+# CONFIG_STRICT_DEVMEM is not set
+# CONFIG_ARM64_PTDUMP is not set
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
+CONFIG_DEBUG_SET_MODULE_RONX=y
+# CONFIG_DEBUG_ALIGN_RODATA is not set
+# CONFIG_CORESIGHT is not set
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_BIG_KEYS is not set
+# CONFIG_ENCRYPTED_KEYS is not set
+# CONFIG_KEY_DH_OPERATIONS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_PATH is not set
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+CONFIG_HAVE_ARCH_HARDENED_USERCOPY=y
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+CONFIG_INTEGRITY=y
+# CONFIG_INTEGRITY_SIGNATURE is not set
+CONFIG_INTEGRITY_AUDIT=y
+# CONFIG_IMA is not set
+# CONFIG_EVM is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_DEFAULT_SECURITY=""
+CONFIG_XOR_BLOCKS=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_KPP2=y
+# CONFIG_CRYPTO_RSA is not set
+# CONFIG_CRYPTO_DH is not set
+# CONFIG_CRYPTO_ECDH is not set
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+# CONFIG_CRYPTO_USER is not set
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
+# CONFIG_CRYPTO_PCRYPT is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+CONFIG_CRYPTO_CRYPTD=y
+# CONFIG_CRYPTO_MCRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ABLK_HELPER=y
+
+#
+# Authenticated Encryption with Associated Data
+#
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=y
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+CONFIG_CRYPTO_CTR=m
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_VMAC is not set
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32 is not set
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_GHASH=m
+# CONFIG_CRYPTO_POLY1305 is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+CONFIG_CRYPTO_SHA256=y
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_SHA3 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_CHACHA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+
+#
+# Random Number Generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+# CONFIG_CRYPTO_USER_API_HASH is not set
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_MARVELL_CESA is not set
+# CONFIG_CRYPTO_DEV_FSL_CAAM is not set
+# CONFIG_CRYPTO_DEV_S5P is not set
+# CONFIG_CRYPTO_DEV_CCP is not set
+# CONFIG_CRYPTO_DEV_QCE is not set
+# CONFIG_CRYPTO_DEV_ROCKCHIP is not set
+# CONFIG_ASYMMETRIC_KEY_TYPE is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set
+CONFIG_CRYPTO_CRC32_ARM64=y
+# CONFIG_BINARY_PRINTF is not set
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_IO=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC7=y
+# CONFIG_LIBCRC32C is not set
+# CONFIG_CRC8 is not set
+CONFIG_AUDIT_GENERIC=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+CONFIG_AUDIT_COMPAT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_RADIX_TREE_MULTIORDER=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+# CONFIG_CORDIC is not set
+# CONFIG_DDR is not set
+# CONFIG_IRQ_POLL is not set
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_SG_SPLIT is not set
+CONFIG_SG_POOL=y
+CONFIG_ARCH_HAS_SG_CHAIN=y
+CONFIG_SBITMAP=y
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/touch.cfg b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/touch.cfg
new file mode 100644
index 0000000..327c753
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/touch.cfg
@@ -0,0 +1 @@
+CONFIG_HID_MULTITOUCH=y
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/usb-video-class.cfg b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/usb-video-class.cfg
new file mode 100644
index 0000000..7446787
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas/usb-video-class.cfg
@@ -0,0 +1,68 @@
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+CONFIG_USB_VIDEO_CLASS=y
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+CONFIG_USB_GSPCA=m
+# CONFIG_USB_M5602 is not set
+# CONFIG_USB_STV06XX is not set
+# CONFIG_USB_GL860 is not set
+# CONFIG_USB_GSPCA_BENQ is not set
+# CONFIG_USB_GSPCA_CONEX is not set
+# CONFIG_USB_GSPCA_CPIA1 is not set
+# CONFIG_USB_GSPCA_DTCS033 is not set
+# CONFIG_USB_GSPCA_ETOMS is not set
+# CONFIG_USB_GSPCA_FINEPIX is not set
+# CONFIG_USB_GSPCA_JEILINJ is not set
+# CONFIG_USB_GSPCA_JL2005BCD is not set
+# CONFIG_USB_GSPCA_KINECT is not set
+# CONFIG_USB_GSPCA_KONICA is not set
+# CONFIG_USB_GSPCA_MARS is not set
+# CONFIG_USB_GSPCA_MR97310A is not set
+# CONFIG_USB_GSPCA_NW80X is not set
+# CONFIG_USB_GSPCA_OV519 is not set
+# CONFIG_USB_GSPCA_OV534 is not set
+# CONFIG_USB_GSPCA_OV534_9 is not set
+# CONFIG_USB_GSPCA_PAC207 is not set
+# CONFIG_USB_GSPCA_PAC7302 is not set
+# CONFIG_USB_GSPCA_PAC7311 is not set
+# CONFIG_USB_GSPCA_SE401 is not set
+# CONFIG_USB_GSPCA_SN9C2028 is not set
+# CONFIG_USB_GSPCA_SN9C20X is not set
+# CONFIG_USB_GSPCA_SONIXB is not set
+# CONFIG_USB_GSPCA_SONIXJ is not set
+# CONFIG_USB_GSPCA_SPCA500 is not set
+# CONFIG_USB_GSPCA_SPCA501 is not set
+# CONFIG_USB_GSPCA_SPCA505 is not set
+# CONFIG_USB_GSPCA_SPCA506 is not set
+# CONFIG_USB_GSPCA_SPCA508 is not set
+# CONFIG_USB_GSPCA_SPCA561 is not set
+# CONFIG_USB_GSPCA_SPCA1528 is not set
+# CONFIG_USB_GSPCA_SQ905 is not set
+# CONFIG_USB_GSPCA_SQ905C is not set
+# CONFIG_USB_GSPCA_SQ930X is not set
+# CONFIG_USB_GSPCA_STK014 is not set
+# CONFIG_USB_GSPCA_STK1135 is not set
+# CONFIG_USB_GSPCA_STV0680 is not set
+# CONFIG_USB_GSPCA_SUNPLUS is not set
+# CONFIG_USB_GSPCA_T613 is not set
+# CONFIG_USB_GSPCA_TOPRO is not set
+# CONFIG_USB_GSPCA_TOUPTEK is not set
+# CONFIG_USB_GSPCA_TV8532 is not set
+# CONFIG_USB_GSPCA_VC032X is not set
+# CONFIG_USB_GSPCA_VICAM is not set
+# CONFIG_USB_GSPCA_XIRLINK_CIT is not set
+# CONFIG_USB_GSPCA_ZC3XX is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_USB_ZR364XX is not set
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_VIDEO_USBTV is not set
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+# CONFIG_VIDEO_EM28XX is not set
diff --git a/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.9.bb b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.9.bb
new file mode 100644
index 0000000..05578db
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.9.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Linux kernel for the R-Car Generation 3 based board"
+
+require include/avb-control.inc
+require recipes-kernel/linux/linux-yocto.inc
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"
+COMPATIBLE_MACHINE = "salvator-x|h3ulcb|m3ulcb"
+
+RENESAS_BSP_URL = "git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git"
+BRANCH = "v4.9/rcar-3.5.8"
+SRCREV = "bef6058b0ba00238b19e7518ba76536218ef97f1"
+
+SRC_URI = "${RENESAS_BSP_URL};protocol=git;nocheckout=1;branch=${BRANCH}"
+
+LINUX_VERSION ?= "4.9.0"
+PV = "${LINUX_VERSION}+git${SRCPV}"
+PR = "r1"
+
+SRC_URI_append = " \
+ file://0001-dmaengine-rcar-dmac-ensure-CHCR-DE-bit-is-actually-0.patch \
+ file://0002-dmaengine-rcar-dmac-use-TCRB-instead-of-TCR-for-resi.patch \
+ file://0003-ASoC-rcar-revert-IOMMU-support-so-far.patch \
+ file://0004-m3ulcb-ADSP-enable.patch \
+ file://defconfig \
+ file://touch.cfg \
+ ${@base_conditional("USE_AVB", "1", " file://usb-video-class.cfg", "", d)} \
+"
diff --git a/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb b/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb
new file mode 100644
index 0000000..ed0d496
--- /dev/null
+++ b/meta-rcar-gen3/recipes-kernel/optee-linuxdriver/optee-linuxdriver_git.bb
@@ -0,0 +1,79 @@
+DESCRIPTION = "OP-TEE Linux Driver"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+"
+inherit module
+
+PN = "optee-linuxdriver"
+PR = "r0"
+BRANCH = "rcar_gen3"
+SRC_URI = " \
+ git://github.com/renesas-rcar/optee_linuxdriver.git;branch=${BRANCH} \
+"
+SRCREV = "3fd77f0dd8a070945f869ec706ebe48fc0d27c20"
+
+PV = "1.1.0+renesas+git${SRCPV}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/git"
+
+LDFLAGS[unexport] = "1"
+
+do_configure[noexec] = "1"
+# We need to be staged before do_complie. This recipe does not execute do_configure.
+do_complile[depends] += "virtual/kernel:do_shared_workdir"
+
+do_compile() {
+ # Build kernel module
+ cd ${S}/
+ make -C ${KBUILD_OUTPUT} M=${S} modules
+}
+
+do_install() {
+ # Create shared directories
+ install -d ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -d ${STAGING_KERNEL_DIR}/include
+ install -d ${STAGING_KERNEL_DIR}/include/arm_common
+ install -d ${STAGING_KERNEL_DIR}/include/linux
+
+ # Install kernel module
+ install -m 0644 ${S}/core/optee.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+ install -m 0644 ${S}/armtz/optee_armtz.ko ${D}/lib/modules/${KERNEL_VERSION}/extra/
+
+
+ # Install shared library to STAGING_KERNEL_DIR for reference from other modules
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 0644 ${S}/Module.symvers ${STAGING_KERNEL_DIR}/include/optee.symvers
+
+ # Install shared header files to STAGING_KERNEL_DIR
+ # This file installed in SDK by kernel-devsrc pkg.
+ install -m 0644 ${S}/include/arm_common/optee_msg.h ${STAGING_KERNEL_DIR}/include/arm_common/
+ install -m 0644 ${S}/include/arm_common/optee_smc.h ${STAGING_KERNEL_DIR}/include/arm_common/
+ install -m 0644 ${S}/include/linux/tee_client_api.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_core.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_ioc.h ${STAGING_KERNEL_DIR}/include/linux/
+ install -m 0644 ${S}/include/linux/tee_kernel_api.h ${STAGING_KERNEL_DIR}/include/linux/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-armtz \
+"
+
+FILES_${PN} = " \
+ /lib/modules/${KERNEL_VERSION}/extra/optee.ko \
+"
+
+FILES_${PN}-armtz = " \
+ /lib/modules/${KERNEL_VERSION}/extra/optee_armtz.ko \
+"
+
+RPROVIDES_${PN} += " \
+ optee-linuxdriver \
+ kernel-module-optee \
+ kernel-module-optee-armtz \
+ kernel-module-optee-${KERNEL_VERSION} \
+ kernel-module-optee-armtz-${KERNEL_VERSION} \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb
new file mode 100644
index 0000000..c57a47a
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-fw-module.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "ADSP Framework for Linux"
+LICENSE = "CLOSED"
+
+require include/adsp-control.inc
+
+SRC_URI = "${@base_conditional('USE_ADSP', '1', 'file://RCG3AHFWN0101ZDP.tar.gz', '', d )}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/RCG3AHFWN0101ZDP"
+
+do_install() {
+ # create the firmware dir
+ install -d ${D}/lib/firmware
+
+ # install the firmware bin
+ install -m 0644 ${S}/lib/firmware/xf-rcar.fw ${D}/lib/firmware
+}
+
+PACKAGES = " \
+ ${PN} \
+"
+
+FILES_${PN} = " \
+ /lib/firmware \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb
new file mode 100644
index 0000000..7128f7d
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/adsp-module/adsp-if-module.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "ADSP Interface for Linux"
+LICENSE = "CLOSED"
+
+require include/adsp-control.inc
+
+DEPENDS += "kernel-module-xtensa-hifi"
+
+SRC_URI = "${@base_conditional('USE_ADSP', '1', 'file://RCG3AHIFL4001ZDP.tar.gz', '', d )}"
+
+S = "${WORKDIR}/RCG3AHIFL4001ZDP"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Don't need to do_configure
+do_configure[noexec] = "1"
+
+# Don't use EXTRA_OEMAKE default value to avoid default CFLAGS, LDFLAGS
+# of poky override the CFLAGS, LDFLAGS inside RCG3AHIFL4001ZDP/Makefile
+EXTRA_OEMAKE = "INCSHARED=${STAGING_INCDIR}"
+
+do_compile() {
+ cd ${S}
+ oe_runmake
+}
+
+do_install() {
+ # Create destination directory
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+ install -d ${D}/${includedir}/sys/fio
+ install -d ${D}/${includedir}/os/linux
+
+ # Copy library
+ install -m 0755 ${S}/libRCG3AHIFL4001ZDP.so.1.0 ${D}/${libdir}
+
+ # Copy shared header files
+ install -m 0644 ${S}/include/*.h ${D}/${includedir}
+ install -m 0644 ${S}/include/sys/fio/*.h ${D}/${includedir}/sys/fio/
+ install -m 0644 ${S}/include/os/linux/*.h ${D}/${includedir}/os/linux/
+
+ # Create the symbolic link
+ cd ${D}/${libdir}
+ ln -s libRCG3AHIFL4001ZDP.so.1.0 libRCG3AHIFL4001ZDP.so.1
+ ln -s libRCG3AHIFL4001ZDP.so.1 libRCG3AHIFL4001ZDP.so
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+FILES_${PN} += " \
+ ${libdir}/*.so* \
+ ${includedir} \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc
new file mode 100644
index 0000000..2d2c557
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-applications.inc
@@ -0,0 +1,9 @@
+require include/avb-control.inc
+require include/rcar-gen3-modules-common.inc
+
+inherit distro_features_check
+
+REQUIRED_DISTRO_FEATURES = "avb"
+
+SRC_URI = "git://github.com/renesas-rcar/avb-applications.git;branch=rcar-gen3"
+SRCREV = "e959010b9b26b684a53db536a02b2f96f0d177ac"
diff --git a/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb
new file mode 100644
index 0000000..36253d8
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/avb-applications/avb-demoapps.bb
@@ -0,0 +1,123 @@
+DESCRIPTION = "Renesas Ethernet AVB demo applications"
+
+require avb-applications.inc
+
+LICENSE = "MIT & BSD"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9 \
+ file://lib/msrp/LICENSE.BSD;md5=60ba0ea0afdcbf8d26ce31ce1503aba3 \
+ file://lib/avdecc/jdksavdecc-c/COPYRIGHT;md5=6592ded5140540a936b8d98ed1b6a577 \
+ file://avblauncher/inih/LICENSE.txt;md5=a7a95d2af90376e85a05318794e6f202 \
+"
+
+DEPENDS = "kernel-module-avb-streaming libyaml"
+
+S = "${WORKDIR}/git/avb-demoapps"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+# submodule is extracted before do_populate_lic
+addtask do_init_submodule after do_unpack before do_patch
+
+do_init_submodule() {
+ export http_proxy=${http_proxy}
+ export https_proxy=${https_proxy}
+ export HTTP_PROXY=${HTTP_PROXY}
+ export HTTPS_PROXY=${HTTPS_PROXY}
+ cd ${S}
+ git submodule init
+ git submodule update
+}
+
+EXTRA_OEMAKE = "'CC=${CC}' 'AR=${AR}'"
+
+do_install_append() {
+ oe_runmake install INSTALL_DIR=${D}/${bindir}
+
+ # Create intall directories
+ install -d ${D}/${sysconfdir}/linuxptp
+ install -d ${D}/${sysconfdir}/daemon_cl
+ install -d ${D}/${sysconfdir}/avblauncher
+
+ # Install
+ install -m 644 ${S}/etc/linuxptp/avb-demoapps.cfg ${D}/${sysconfdir}/linuxptp
+ install -m 644 ${S}/etc/daemon_cl/gptp_cfg_100mb.ini ${D}/${sysconfdir}/daemon_cl
+ install -m 644 ${S}/etc/daemon_cl/gptp_cfg.ini ${D}/${sysconfdir}/daemon_cl
+ install -m 755 ${S}/etc/avblauncher/mse_aaf_pcm.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_aaf_pcm_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_aaf_pcm_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_h264.sh ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_h264_d13.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_d13_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_d13_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_h264_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_cvf_mjpeg.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_mjpeg_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_cvf_mjpeg_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_iec61883_4.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_4_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_4_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/mse_iec61883_6.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_6_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/mse_iec61883_6_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 755 ${S}/etc/avblauncher/simple_application.sh ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/simple_listener.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/simple_talker.ini ${D}/${sysconfdir}/avblauncher
+ install -m 644 ${S}/etc/avblauncher/avdecc_entity_audio.yaml ${D}/${sysconfdir}/avblauncher
+}
+
+PACKAGES =+ " \
+ ${PN}-simple \
+ ${PN}-mrpdummy \
+ ${PN}-avblauncher \
+"
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-mrpdummy = " \
+ ${bindir}/mrpdummy \
+"
+
+FILES_${PN}-avblauncher = " \
+ ${sysconfdir}/daemon_cl/gptp_cfg_100mb.ini \
+ ${sysconfdir}/daemon_cl/gptp_cfg.ini \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm.sh \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm_listener.ini \
+ ${sysconfdir}/avblauncher/mse_aaf_pcm_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_d13_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_h264_talker.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg.sh \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg_listener.ini \
+ ${sysconfdir}/avblauncher/mse_cvf_mjpeg_talker.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_4.sh \
+ ${sysconfdir}/avblauncher/mse_iec61883_4_listener.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_4_talker.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_6.sh \
+ ${sysconfdir}/avblauncher/mse_iec61883_6_listener.ini \
+ ${sysconfdir}/avblauncher/mse_iec61883_6_talker.ini \
+ ${sysconfdir}/avblauncher/simple_application.sh \
+ ${sysconfdir}/avblauncher/simple_listener.ini \
+ ${sysconfdir}/avblauncher/simple_talker.ini \
+ ${sysconfdir}/avblauncher/avdecc_entity_audio.yaml \
+ ${bindir}/avblauncher \
+"
+
+FILES_${PN}-simple = " \
+ ${sysconfdir}/linuxptp/avb-demoapps.cfg \
+ ${bindir}/simple_talker \
+ ${bindir}/simple_listener \
+"
+
+RDEPENDS_${PN} = " \
+ ${PN}-simple \
+ ${PN}-avblauncher \
+"
+
+RDEPENDS_${PN}-avblauncher = " \
+ ${PN}-mrpdummy \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb b/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb
new file mode 100644
index 0000000..5c00277
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/avb-applications/avbtool.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Utility tool of the AVB Streaming Driver for Linux for the R-Car Gen3"
+
+require avb-applications.inc
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=96659f2a7571bfa27483882a653c3bb9"
+
+DEPENDS = "kernel-module-avb-streaming"
+
+S = "${WORKDIR}/git/avbtool"
+
+EXTRA_OEMAKE = "'CC=${CC}'"
+
+do_install_append() {
+ install -d ${D}/${bindir}
+ install -m 755 ${S}/avbtool ${D}/${bindir}
+}
diff --git a/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb b/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb
new file mode 100644
index 0000000..952b230
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/cms-module/cms-user-module.bb
@@ -0,0 +1,74 @@
+DESCRIPTION = "R-Car Gen3 Color Management System"
+LICENSE = "CLOSED"
+
+require include/cms-control.inc
+
+SRC_CMSBCM = "${@bb.utils.contains('USE_CMSBCM', '1', 'file://RTM0AC0000JRCMBCV0SL40C.tar.gz;subdir=cms/bcm', '', d)}"
+SRC_CMSBLC = "${@bb.utils.contains('USE_CMSBLC', '1', 'file://RTM0AC0000JRCMBLC0SL40C.tar.gz;subdir=cms/blc', '', d)}"
+SRC_CMSDGC = "${@bb.utils.contains('USE_CMSDGC', '1', 'file://RTM0AC0000JRCMDGV0SL40C.tar.gz;subdir=cms/dgc', '', d)}"
+
+SRC_URI = " \
+ ${SRC_CMSBCM} \
+ ${SRC_CMSBLC} \
+ ${SRC_CMSDGC} \
+"
+
+S = "${WORKDIR}/cms"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create the lib directory
+ install -d ${D}/${libdir}
+
+ if [ "X${USE_CMSBCM}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/bcm
+ install -m 755 ${S}/bcm/${baselib}/libcmsbcm.so.1.0.0 ${D}/${libdir}
+ install -m 644 ${S}/bcm/include/*.h ${D}/${includedir}/cms/bcm
+
+ cd ${D}/${libdir}
+ ln -s libcmsbcm.so.1.0.0 libcmsbcm.so.1
+ ln -s libcmsbcm.so.1 libcmsbcm.so
+ fi
+
+ if [ "X${USE_CMSBLC}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/blc
+ install -m 755 ${S}/blc/${baselib}/libcmsblc.so.1.0.0 ${D}/${libdir}
+ install -m 644 ${S}/blc/include/*.h ${D}/${includedir}/cms/blc
+
+ cd ${D}/${libdir}
+ ln -s libcmsblc.so.1.0.0 libcmsblc.so.1
+ ln -s libcmsblc.so.1 libcmsblc.so
+ fi
+
+ if [ "X${USE_CMSDGC}" = "X1" ]; then
+ install -d ${D}/${includedir}/cms/dgc
+ install -m 755 ${S}/dgc/${baselib}/libcmsdgc.so.1.0.0 ${D}/${libdir}
+ install -m 644 ${S}/dgc/include/*.h ${D}/${includedir}/cms/dgc
+
+ cd ${D}/${libdir}
+ ln -s libcmsdgc.so.1.0.0 libcmsdgc.so.1
+ ln -s libcmsdgc.so.1 libcmsdgc.so
+ fi
+}
+
+FILES_${PN} = " \
+ ${libdir}/*.so.* \
+ ${libdir}/lib*.so \
+"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+"
+
+INSANE_SKIP_${PN} = "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb b/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb
new file mode 100644
index 0000000..55efa92
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/dtv-module/dtv-user-module.bb
@@ -0,0 +1,72 @@
+DESCRIPTION = "ISDB-T DTV Software Package for Linux for the R-Car Gen3"
+LICENSE = "CLOSED"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+inherit distro_features_check
+
+DEPENDS = " \
+ kernel-module-vspmif mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif kernel-module-vspm \
+ omx-user-module kernel-module-uvcs-drv \
+ kernel-module-scu-src kernel-module-ssp \
+ kernel-module-tddmac kernel-module-tsif \
+"
+
+PN = "dtv-user-module"
+PR = "r0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+REQUIRED_DISTRO_FEATURES = "dtv"
+
+SRC_URI_DTV_SW = "file://Software.tar.gz"
+SRC_URI_DTV_UDF = "file://Reference.tar.gz"
+
+SRC_URI = " \
+ ${SRC_URI_DTV_SW} \
+ ${SRC_URI_DTV_UDF} \
+"
+
+S = "${WORKDIR}"
+
+# do_configure() nothing
+do_configure[noexec] = "1"
+# do_compile() nothing
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}${RENESAS_DATADIR}/include
+ install -d ${D}${RENESAS_DATADIR}/src/dtv/reference
+
+ # Copy library
+ install -m 644 ${S}/${baselib}/*.a ${D}/${libdir}/
+
+ # Copy shared header files
+ install -m 644 ${S}/include/*.h ${D}${RENESAS_DATADIR}/include
+
+ # Copy reference files
+ install -m 644 ${S}/userfunc/*.h ${D}${RENESAS_DATADIR}/src/dtv/reference
+ install -m 644 ${S}/userfunc/*.c ${D}${RENESAS_DATADIR}/src/dtv/reference
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = ""
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/*.h \
+ ${RENESAS_DATADIR}/src/dtv/reference/* \
+"
+FILES_${PN}-staticdev = " \
+ ${libdir}/*.a \
+"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb b/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb
new file mode 100644
index 0000000..aead035
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/dvd-module/dvd-user-module.bb
@@ -0,0 +1,62 @@
+DESCRIPTION = "DVD Core-Middleware for Linux for the R-Car Gen3"
+LICENSE = "CLOSED"
+
+require include/rcar-gen3-modules-common.inc
+require include/dtv-dvd-control.inc
+
+inherit distro_features_check
+
+DEPENDS = " \
+ kernel-module-vspmif mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif kernel-module-vspm \
+ omx-user-module kernel-module-uvcs-drv \
+"
+
+PN = "dvd-user-module"
+PR = "r0"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+REQUIRED_DISTRO_FEATURES = "dvd"
+
+SRC_URI_DVD_SW = "file://Software.tar.gz"
+
+SRC_URI = " \
+ ${SRC_URI_DVD_SW} \
+"
+
+S = "${WORKDIR}"
+
+# do_configure() nothing
+do_configure[noexec] = "1"
+# do_compile() nothing
+do_compile[noexec] = "1"
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}${RENESAS_DATADIR}/include
+
+ # Copy library
+ install -m 644 ${S}/${baselib}/*.a ${D}/${libdir}
+
+ # Copy shared header files
+ install -m 644 ${S}/include/*.h ${D}${RENESAS_DATADIR}/include
+}
+
+PACKAGES = " \
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-staticdev \
+"
+
+FILES_${PN} = ""
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-dev = " \
+ ${RENESAS_DATADIR}/include/*.h \
+"
+FILES_${PN}-staticdev = " \
+ ${libdir}/*.a \
+"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend
new file mode 100644
index 0000000..9a30dd9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.2.0.bbappend
@@ -0,0 +1,29 @@
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
+SRC_URI_append = " git://github.com/renesas-rcar/gst-omx.git;branch=RCAR-GEN3/1.2.0"
+
+DEPENDS += "omx-user-module mmngrbuf-user-module"
+
+SRCREV = "50b1a326521f909f6baa4708ce42e671013b8dab"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \
+ file://omx/gstomx.h;beginline=1;endline=22;md5=9281ffe981001da5a13db0303fa7c4ab \
+"
+
+S = "${WORKDIR}/git"
+
+GSTREAMER_1_0_OMX_TARGET = "rcar"
+GSTREAMER_1_0_OMX_CORE_NAME = "${libdir}/libomxr_core.so"
+EXTRA_OECONF_append = " --enable-experimental"
+EXTRA_OECONF_append = " --with-omx-header-path=${S}/omx/openmax"
+
+do_configure_prepend() {
+ export http_proxy=${http_proxy}
+ export https_proxy=${https_proxy}
+ export HTTP_PROXY=${HTTP_PROXY}
+ export HTTPS_PROXY=${HTTPS_PROXY}
+ cd ${S}
+ ./autogen.sh --noconfigure
+ cd ${B}
+}
+
+RDEPENDS_${PN} = "libwayland-egl"
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf
new file mode 100644
index 0000000..4807dc3
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video12
+output-device-name=/dev/video13
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf
new file mode 100644
index 0000000..890c5ad
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video6
+output-device-name=/dev/video7
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf
new file mode 100644
index 0000000..586b13b
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7795.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video20
+output-device-name=/dev/video21
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf
new file mode 100644
index 0000000..74a8ab9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-salvator-x_r8a7796.conf
@@ -0,0 +1,2 @@
+input-device-name=/dev/video14
+output-device-name=/dev/video15
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb
new file mode 100644
index 0000000..02a7ba2
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.0.bb
@@ -0,0 +1,37 @@
+SUMMARY = "GStreamer VSP filter plugin"
+SECTION = "multimedia"
+LICENSE = "GPLv2+"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base pkgconfig"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+inherit autotools pkgconfig
+
+PN = "gstreamer1.0-plugin-vspfilter"
+
+EXTRA_AUTORECONF_append = " -I ${STAGING_DATADIR}/aclocal"
+
+VSPFILTER_CONF_r8a7795 = "gstvspfilter-${MACHINE}_r8a7795.conf"
+VSPFILTER_CONF_r8a7796 = "gstvspfilter-${MACHINE}_r8a7796.conf"
+
+SRC_URI = " \
+ git://github.com/renesas-rcar/gst-plugin-vspfilter.git;branch=RCAR-GEN3/1.0.0 \
+ file://${VSPFILTER_CONF} \
+"
+
+SRCREV = "50eefe877d2198092ba41316456d73e02dba0def"
+
+S = "${WORKDIR}/git"
+
+FILES_${PN} = " \
+ ${libdir}/gstreamer-1.0/libgstvspfilter.so \
+ ${sysconfdir}/gstvspfilter.conf"
+FILES_${PN}-dev = "${libdir}/gstreamer-1.0/libgstvspfilter.la"
+FILES_${PN}-staticdev = "${libdir}/gstreamer-1.0/libgstvspfilter.a"
+FILES_${PN}-dbg = " \
+ ${libdir}/gstreamer-1.0/.debug \
+ ${prefix}/src"
+
+do_install_append() {
+ install -Dm 644 ${WORKDIR}/${VSPFILTER_CONF} ${D}/etc/gstvspfilter.conf
+}
+
+RDEPENDS_${PN} = "kernel-module-vsp2driver"
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
new file mode 100644
index 0000000..072d683
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.6.3.bbappend
@@ -0,0 +1,29 @@
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz"
+SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-bad.git;branch=RCAR-GEN3/1.6.3"
+
+SRCREV = "e336b2dacf29a155dc8f6896ee0f3a89d87d805e"
+
+DEPENDS += "weston wayland-native"
+
+S = "${WORKDIR}/git"
+
+# submodule is extracted before do_populate_lic
+addtask do_init_submodule after do_unpack before do_patch
+
+do_init_submodule() {
+ export http_proxy=${http_proxy}
+ export https_proxy=${https_proxy}
+ export HTTP_PROXY=${HTTP_PROXY}
+ export HTTPS_PROXY=${HTTPS_PROXY}
+ cd ${S}
+ git submodule init
+ git submodule update
+}
+
+do_configure_prepend() {
+ cd ${S}
+ ./autogen.sh --noconfigure
+ cd ${B}
+}
+
+RDEPENDS_${PN} = "libwayland-egl"
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend
new file mode 100644
index 0000000..1912ac1
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.6.3.bbappend
@@ -0,0 +1 @@
+PACKAGECONFIG_remove = "ivorbis"
diff --git a/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend
new file mode 100644
index 0000000..1d353ec
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.6.3.bbappend
@@ -0,0 +1,32 @@
+SRC_URI_remove = "http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz"
+SRC_URI_append = " git://github.com/renesas-rcar/gst-plugins-good.git;branch=RCAR-GEN3/1.6.3"
+
+SRCREV = "00beed48b36e0b7f2c92199806cc4cb9e0990166"
+
+DEPENDS += "mmngrbuf-user-module"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF_append = " \
+ --enable-cont-frame-capture \
+ --enable-ignore-fps-of-video-standard \
+"
+
+# submodule is extracted before do_populate_lic
+addtask do_init_submodule after do_unpack before do_patch
+
+do_init_submodule() {
+ export http_proxy=${http_proxy}
+ export https_proxy=${https_proxy}
+ export HTTP_PROXY=${HTTP_PROXY}
+ export HTTPS_PROXY=${HTTPS_PROXY}
+ cd ${S}
+ git submodule init
+ git submodule update
+}
+
+do_configure_prepend() {
+ cd ${S}
+ ./autogen.sh --noconfigure
+ cd ${B}
+}
diff --git a/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb
new file mode 100644
index 0000000..ac4cf30
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Memory Manager User module for Renesas R-Car Gen3"
+require mmngr_lib.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = "kernel-module-mmngr"
+PN = "mmngr-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git/libmmngr/mmngr"
+
+EXTRA_OECONF = "${@bb.utils.contains("DISTRO_FEATURES", "mm-test", \
+ " --enable-mmngr-test", "", d)}"
+
+exec_prefix = "/usr"
+bindir = "${RENESAS_DATADIR}/bin"
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ if [ -f ${D}${RENESAS_DATADIR}/bin/mmtp ]; then
+ if [ X${WS} = "X32" ]; then
+ mv ${D}${RENESAS_DATADIR}/bin/mmtp ${D}${RENESAS_DATADIR}/bin/mmtp${WS}
+ fi
+ fi
+}
diff --git a/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc
new file mode 100644
index 0000000..142ff2e
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr_lib.inc
@@ -0,0 +1,18 @@
+# Common path of MMNGR and MMNGRBUF module
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "\
+ file://${WORKDIR}/git/COPYING.MIT;md5=30a99e0d36a3da1f5cf93c070ad7888a"
+
+MMNGR_LIB_URI = "git://github.com/renesas-rcar/mmngr_lib.git"
+
+SRC_URI = "${MMNGR_LIB_URI};branch=rcar_gen3"
+SRCREV = "8d2c068eecb41668bee086fc704ed37c2eb1df67"
+
+# Get Wordsize of test app and change their names later to avoid override
+WS_aarch64 = ""
+WS_virtclass-multilib-lib32 = "32"
+
+# These modules are machine specific.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit autotools
diff --git a/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb
new file mode 100644
index 0000000..690169f
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Memory Manager Buffer User module for Renesas R-Car Gen3"
+require mmngr_lib.inc
+require include/rcar-gen3-path-common.inc
+
+DEPENDS = "kernel-module-mmngrbuf"
+PN = "mmngrbuf-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git/libmmngr/mmngrbuf"
+
+EXTRA_OECONF = "${@bb.utils.contains("DISTRO_FEATURES", "mm-test", \
+ " --enable-mmngrbuf-test", "", d)}"
+
+exec_prefix = "/usr"
+bindir = "${RENESAS_DATADIR}/bin"
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+
+do_install_append() {
+ if [ -f ${D}${RENESAS_DATADIR}/bin/mmbuftp ]; then
+ if [ X${WS} = "X32" ]; then
+ mv ${D}${RENESAS_DATADIR}/bin/mmbuftp ${D}${RENESAS_DATADIR}/bin/mmbuftp${WS}
+ fi
+ fi
+}
diff --git a/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc b/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc
new file mode 100644
index 0000000..6f3f847
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/omx-module/deltask-omx-user-module.inc
@@ -0,0 +1,2 @@
+deltask do_configure
+deltask do_compile
diff --git a/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb
new file mode 100644
index 0000000..f31792b
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/omx-module/libalacdla-l.bb
@@ -0,0 +1,61 @@
+DESCRIPTION = "ALAC decoder library"
+SECTION = "libs"
+LICENSE = "Apache-2.0 & APSL-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE;md5=5cf67868b9e038eccb149ec80809d9f5 \
+ file://APPLE_LICENSE.txt;md5=b180a94f894d2a868d40ea43da2bbaba \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = " \
+ kernel-module-mmngr mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif \
+ kernel-module-vspm kernel-module-vsp2driver \
+"
+
+RDEPENDS_${PN} += "mmngr-user-module vspmif-user-module"
+
+SRC_URI = "git://github.com/renesas-rcar/alac_decoder.git;branch=master"
+SRCREV = "5d7e5c91a932bedb36284591612bfbb3342cd672"
+
+S = "${WORKDIR}/git"
+B = "${S}/build/linux_armyocto/lib"
+
+EXTRA_OEMAKE = "ARCH=${ARCH}"
+
+ARCH = "arm"
+ARCH_aarch64 = "arm64"
+
+do_install() {
+ # Create directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Install library
+ install -m 755 ${S}/build/linux_armyocto/libALACDLA_L.so.2.0 ${D}/${libdir}/
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -s libALACDLA_L.so.2.0 libALACDLA_L.so.2
+ ln -s libALACDLA_L.so.2 libALACDLA_L.so
+
+ # Install shared header file
+ install -m 644 ${S}/lib/alacd_Lib.h ${D}/${includedir}/
+}
+
+FILES_${PN} += " \
+ ${libdir}/libALACDLA_L.so.* \
+ ${libdir}/libALACDLA_L.so \
+"
+
+FILES_${PN}-dev = "${includedir}/*.h"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb
new file mode 100644
index 0000000..453195e
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/omx-module/libflacdla-l.bb
@@ -0,0 +1,50 @@
+DESCRIPTION = "FLAC decoder library"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING.Xiph;md5=a2c4b71c0198682376d483eb5bcc9197"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+SRC_URI = "git://github.com/renesas-rcar/flac_decoder.git;branch=master"
+SRCREV = "70c0a7ae7dc8cac2056adf5eb175e3c54f892c27"
+
+S = "${WORKDIR}/git"
+B = "${S}/build/linux_armyocto/lib"
+
+EXTRA_OEMAKE = "ARCH=${ARCH}"
+
+ARCH = "arm"
+ARCH_aarch64 = "arm64"
+
+do_install() {
+ # Create directories
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Install library
+ install -m 755 ${S}/build/linux_armyocto/libFLACDLA_L.so.2.0 ${D}/${libdir}/
+
+ # Create symbolic link
+ cd ${D}/${libdir}
+ ln -s libFLACDLA_L.so.2.0 libFLACDLA_L.so.2
+ ln -s libFLACDLA_L.so.2 libFLACDLA_L.so
+
+ # Install shared header file
+ install -m 644 ${S}/lib/flacd_Lib.h ${D}/${includedir}/
+}
+
+FILES_${PN} += " \
+ ${libdir}/libFLACDLA_L.so.* \
+ ${libdir}/libFLACDLA_L.so \
+"
+
+FILES_${PN}-dev = "${includedir}/*.h"
+
+INSANE_SKIP_${PN} += "dev-so"
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb
new file mode 100644
index 0000000..d0da0f7
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb
@@ -0,0 +1,450 @@
+DESCRIPTION = "OMX Media Components R-Car Gen3"
+LICENSE = "CLOSED"
+require include/omx-control.inc
+require include/rcar-gen3-modules-common.inc
+
+DEPENDS = " \
+ kernel-module-mmngr mmngr-user-module \
+ vspmif-user-module kernel-module-vspmif \
+ kernel-module-vspm kernel-module-vsp2driver \
+"
+
+# Task Control. Compile is not performed when not installing OMX Video and Audio Libs.
+# Note) dummy-omx-user-module.inc does not exist.
+INCLUDE_FILE = '${@base_conditional("USE_OMX_COMMON", "1", "dummy", "deltask", d )}'
+include ${INCLUDE_FILE}-omx-user-module.inc
+
+DEPENDS += '${@base_conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )}'
+
+inherit autotools
+
+includedir = "${RENESAS_DATADIR}/include"
+CFLAGS += " -I${STAGING_DIR_HOST}${RENESAS_DATADIR}/include"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+OMX_EVA_PREFIX = '${@base_conditional("USE_OMX_EVA_PKG", "1", "EVA", "", d )}'
+
+# SRC file name
+SRC_URI_OMX = '${@base_conditional("USE_OMX_COMMON", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_VCMND = '${@base_conditional("USE_VIDEO_DEC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_VCMNE = '${@base_conditional("USE_VIDEO_ENC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C.tar.bz2;unpack=0", "", d )}'
+SRC_URI_H263D = '${@base_conditional("USE_H263D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C.tar.bz2", "", d )}'
+SRC_URI_H264D = '${@base_conditional("USE_H264D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C.tar.bz2", "", d )}'
+SRC_URI_H264E = '${@base_conditional("USE_H264E_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C.tar.bz2", "", d )}'
+SRC_URI_H265D = '${@base_conditional("USE_H265D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C.tar.bz2", "", d )}'
+SRC_URI_MPEG2D = '${@base_conditional("USE_MPEG2D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C.tar.bz2", "", d )}'
+SRC_URI_MPEG4D = '${@base_conditional("USE_MPEG4D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C.tar.bz2", "", d )}'
+SRC_URI_VC1D = '${@base_conditional("USE_VC1D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C.tar.bz2", "", d )}'
+SRC_URI_DIVXD = '${@base_conditional("USE_DIVXD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C.tar.bz2", "", d )}'
+SRC_URI_RVD = '${@base_conditional("USE_RVD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C.tar.bz2", "", d )}'
+SRC_URI_ACMND = '${@base_conditional("USE_AUDIO_OMX", "1", "file://RTM0AC0000XACMND30SL40C.tar.gz", "", d )}'
+SRC_URI_AACLC = '${@base_conditional("USE_AACLCD_OMX", "1", "file://RTM0AC0000XAAACD30SL40C.tar.gz", "", d )}'
+SRC_URI_AACPV2 = '${@base_conditional("USE_AACPV2D_OMX", "1", "file://RTM0AC0000XAAAPD30SL40C.tar.gz", "", d )}'
+SRC_URI_MP3 = '${@base_conditional("USE_MP3D_OMX", "1", "file://RTM0AC0000XAMP3D30SL40C.tar.gz", "", d )}'
+SRC_URI_AACLCE = '${@base_conditional("USE_AACLCE_OMX", "1", "file://RTM0AC0000XAAACE30SL40C.tar.gz", "", d )}'
+SRC_URI_WMA = '${@base_conditional("USE_WMAD_OMX", "1", "file://RTM0AC0000XAWMAD30SL40C.tar.gz", "", d )}'
+SRC_URI_ALACD = '${@base_conditional("USE_ALACD_OMX", "1", "file://RTM0AC0000XAALAD30SL40C.tar.gz", "", d )}'
+SRC_URI_FLACD = '${@base_conditional("USE_FLACD_OMX", "1", "file://RTM0AC0000XAFLAD30SL40C.tar.gz", "", d )}'
+SRC_URI_DDD = '${@base_conditional("USE_DDD_OMX", "1", "file://RTM0AC0000XADD5D30SL40C.tar.gz", "", d )}'
+SRC_URI_AACMZ = '${@base_conditional("USE_AACLC_MDW", "1", "file://RTM0AC0000ADAACMZ1SL40C.tar.gz", "", d )}'
+SRC_URI_AACPV2MZ = '${@base_conditional("USE_AACPV2_MDW", "1", "file://RTM0AC0000ADAAPMZ1SL40C.tar.gz", "", d )}'
+SRC_URI_MP3MZ = '${@base_conditional("USE_MP3_MDW", "1", "file://RTM0AC0000ADMP3MZ1SL40C.tar.gz", "", d )}'
+SRC_URI_WMAMZ = '${@base_conditional("USE_WMA_MDW", "1", "file://RTM0AC0000ADWMAMZ1SL40C.tar.gz", "", d )}'
+SRC_URI_DDMZ = '${@base_conditional("USE_DD_MDW", "1", "file://RTM0AC0000ADDD5MZ1SL40C.tar.gz", "", d )}'
+SRC_URI_AEAACMZ = '${@base_conditional("USE_AACLCE_MDW", "1", "file://RTM0AC0000AEAACMZ1SL40C.tar.gz", "", d )}'
+
+SRC_URI = " \
+ ${SRC_URI_OMX} \
+ ${SRC_URI_VCMND} \
+ ${SRC_URI_VCMNE} \
+ ${SRC_URI_H263D} \
+ ${SRC_URI_H264D} \
+ ${SRC_URI_H264E} \
+ ${SRC_URI_H265D} \
+ ${SRC_URI_MPEG2D} \
+ ${SRC_URI_MPEG4D} \
+ ${SRC_URI_VC1D} \
+ ${SRC_URI_DIVXD} \
+ ${SRC_URI_RVD} \
+ ${SRC_URI_ACMND} \
+ ${SRC_URI_AACLC} \
+ ${SRC_URI_AACPV2} \
+ ${SRC_URI_MP3} \
+ ${SRC_URI_WMA} \
+ ${SRC_URI_ALACD} \
+ ${SRC_URI_FLACD} \
+ ${SRC_URI_DDD} \
+ ${SRC_URI_AACLCE} \
+ ${SRC_URI_AACMZ} \
+ ${SRC_URI_AACPV2MZ} \
+ ${SRC_URI_MP3MZ} \
+ ${SRC_URI_WMAMZ} \
+ ${SRC_URI_DDMZ} \
+ ${SRC_URI_AEAACMZ} \
+"
+
+# SRC directory name
+OMX_COMMON_SRC = '${@base_conditional("USE_OMX_COMMON", "1", "${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C", "", d )}'
+OMX_VIDEO_DEC_COMMON_SRC = '${@base_conditional("USE_VIDEO_DEC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C", "", d )}'
+OMX_VIDEO_ENC_COMMON_SRC = '${@base_conditional("USE_VIDEO_ENC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C", "", d )}'
+
+OMX_H263_DEC_SRC = '${@base_conditional("USE_H263D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C", "", d )}'
+OMX_H264_DEC_SRC = '${@base_conditional("USE_H264D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C", "", d )}'
+OMX_H264_ENC_SRC = '${@base_conditional("USE_H264E_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C", "", d )}'
+OMX_H265_DEC_SRC = '${@base_conditional("USE_H265D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C", "", d )}'
+OMX_MPEG2_DEC_SRC = '${@base_conditional("USE_MPEG2D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C", "", d )}'
+OMX_MPEG4_DEC_SRC = '${@base_conditional("USE_MPEG4D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C", "", d )}'
+OMX_VC1_DEC_SRC = '${@base_conditional("USE_VC1D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C", "", d )}'
+OMX_DIVX_DEC_SRC = '${@base_conditional("USE_DIVXD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C", "", d )}'
+OMX_RV_DEC_SRC = '${@base_conditional("USE_RVD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C", "", d )}'
+
+OMX_VIDEO_SRC_LIST = " \
+ ${OMX_COMMON_SRC} \
+ ${OMX_VIDEO_DEC_COMMON_SRC} \
+ ${OMX_VIDEO_ENC_COMMON_SRC} \
+ ${OMX_H263_DEC_SRC} \
+ ${OMX_H264_DEC_SRC} \
+ ${OMX_H264_ENC_SRC} \
+ ${OMX_H265_DEC_SRC} \
+ ${OMX_MPEG2_DEC_SRC} \
+ ${OMX_MPEG4_DEC_SRC} \
+ ${OMX_VC1_DEC_SRC} \
+ ${OMX_DIVX_DEC_SRC} \
+ ${OMX_RV_DEC_SRC} \
+"
+
+AAC_MIDDLEWARE_SRC = "RTM0AC0000ADAACMZ1SL40C"
+AACPV2_MIDDLEWARE_SRC = "RTM0AC0000ADAAPMZ1SL40C"
+MP3_MIDDLEWARE_SRC = "RTM0AC0000ADMP3MZ1SL40C"
+WMA_MIDDLEWARE_SRC = "RTM0AC0000ADWMAMZ1SL40C"
+DD_MIDDLEWARE_SRC = "RTM0AC0000ADDD5MZ1SL40C"
+AEAAC_MIDDLEWARE_SRC = "RTM0AC0000AEAACMZ1SL40C"
+
+OMX_AUDIO_COMMON_SRC = '${@base_conditional("USE_AUDIO_OMX", "1", "RTM0AC0000XACMND30SL40C", "", d )}'
+OMX_AACLC_DEC_SRC = '${@base_conditional("USE_AACLCD_OMX", "1", "RTM0AC0000XAAACD30SL40C", "", d )}'
+OMX_AACPV2_DEC_SRC = '${@base_conditional("USE_AACPV2D_OMX", "1", "RTM0AC0000XAAAPD30SL40C", "", d )}'
+OMX_MP3_DEC_SRC = '${@base_conditional("USE_MP3D_OMX", "1", "RTM0AC0000XAMP3D30SL40C", "", d )}'
+OMX_WMA_DEC_SRC = '${@base_conditional("USE_WMAD_OMX", "1", "RTM0AC0000XAWMAD30SL40C", "", d )}'
+OMX_ALAC_DEC_SRC = '${@base_conditional("USE_ALACD_OMX", "1", "RTM0AC0000XAALAD30SL40C", "", d )}'
+OMX_FLAC_DEC_SRC = '${@base_conditional("USE_FLACD_OMX", "1", "RTM0AC0000XAFLAD30SL40C", "", d )}'
+OMX_DD_DEC_SRC = '${@base_conditional("USE_DDD_OMX", "1", "RTM0AC0000XADD5D30SL40C", "", d )}'
+OMX_AACLC_ENC_SRC = '${@base_conditional("USE_AACLCE_OMX", "1", "RTM0AC0000XAAACE30SL40C", "", d )}'
+
+OMX_AUDIO_SRC_LIST = " \
+ ${OMX_AUDIO_COMMON_SRC} \
+ ${OMX_AACLC_DEC_SRC} \
+ ${OMX_AACPV2_DEC_SRC} \
+ ${OMX_MP3_DEC_SRC} \
+ ${OMX_WMA_DEC_SRC} \
+ ${OMX_ALAC_DEC_SRC} \
+ ${OMX_FLAC_DEC_SRC} \
+ ${OMX_DD_DEC_SRC} \
+ ${OMX_AACLC_ENC_SRC} \
+"
+
+S = "${WORKDIR}/omx/"
+
+# Create ${S} directory
+do_unpack_prepend() {
+ os.system("install -d ${S}")
+}
+
+do_unpack_append() {
+ bb.build.exec_func('setup_build_tree', d)
+}
+
+setup_build_tree() {
+ for omxmc in ${OMX_COMMON_SRC} ${OMX_VIDEO_DEC_COMMON_SRC} ${OMX_VIDEO_ENC_COMMON_SRC}
+ do
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${WORKDIR}
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${S} ${omxmc}/src --strip=2
+ tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${S} ${omxmc}/include --strip=1
+ done
+}
+
+B = "${S}"
+
+EXTRA_OECONF = "OMXR_DEFAULT_CONFIG_FILE_NAME=${sysconfdir}/omxr/omxr_config_base.txt"
+
+do_configure() {
+ export uvcsdrv_dir="${INCSHARED}"
+ chmod u+x autogen.sh
+ ./autogen.sh
+ oe_runconf
+}
+
+do_install_omx_video() {
+ cd ${D}/${libdir}
+ for omxmc in ${OMX_VIDEO_SRC_LIST}
+ do
+ src="${WORKDIR}/${omxmc}"
+ install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir}
+ install -m 644 ${src}/include/*.h ${D}/${includedir}
+ install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr
+ done
+
+ if [ "X${USE_OMX_COMMON}" = "X1" ] ; then
+ ln -s libomxr_core.so.3.0.0 libomxr_core.so.3
+ ln -s libomxr_core.so.3 libomxr_core.so
+
+ ln -s libomxr_mc_cmn.so.3.0.0 libomxr_mc_cmn.so.3
+ ln -s libomxr_mc_cmn.so.3 libomxr_mc_cmn.so
+ fi
+
+ if [ "X${USE_VIDEO_OMX}" = "X1" ] ; then
+ ln -s libomxr_mc_vcmn.so.3.0.0 libomxr_mc_vcmn.so.3
+ ln -s libomxr_mc_vcmn.so.3 libomxr_mc_vcmn.so
+ fi
+
+ if [ "X${USE_VIDEO_DEC}" = "X1" ] ; then
+ ln -s libomxr_mc_vdcmn.so.3.0.0 libomxr_mc_vdcmn.so.3
+ ln -s libomxr_mc_vdcmn.so.3 libomxr_mc_vdcmn.so
+
+ ln -s libuvcs_dec.so.3.0.0 libuvcs_dec.so.3
+ ln -s libuvcs_dec.so.3 libuvcs_dec.so
+ fi
+
+ if [ "X${USE_VIDEO_ENC}" = "X1" ] ; then
+ ln -s libomxr_mc_vecmn.so.3.0.0 libomxr_mc_vecmn.so.3
+ ln -s libomxr_mc_vecmn.so.3 libomxr_mc_vecmn.so
+
+ ln -s libuvcs_enc.so.3.0.0 libuvcs_enc.so.3
+ ln -s libuvcs_enc.so.3 libuvcs_enc.so
+ fi
+
+ if [ "X${USE_H263D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h263d.so.3.0.0 libomxr_mc_h263d.so.3
+ ln -s libomxr_mc_h263d.so.3 libomxr_mc_h263d.so
+
+ ln -s libuvcs_hv3d.so.3.0.0 libuvcs_hv3d.so.3
+ ln -s libuvcs_hv3d.so.3 libuvcs_hv3d.so
+ fi
+
+ if [ "X${USE_H264D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h264d.so.3.0.0 libomxr_mc_h264d.so.3
+ ln -s libomxr_mc_h264d.so.3 libomxr_mc_h264d.so
+
+ ln -s libuvcs_avcd.so.3.0.0 libuvcs_avcd.so.3
+ ln -s libuvcs_avcd.so.3 libuvcs_avcd.so
+ fi
+
+ if [ "X${USE_H264E_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_h264e.so.3.0.0 libomxr_mc_h264e.so.3
+ ln -s libomxr_mc_h264e.so.3 libomxr_mc_h264e.so
+
+ ln -s libuvcs_avce.so.3.0.0 libuvcs_avce.so.3
+ ln -s libuvcs_avce.so.3 libuvcs_avce.so
+ fi
+
+ if [ "X${USE_H265D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_hevd.so.3.0.0 libomxr_mc_hevd.so.3
+ ln -s libomxr_mc_hevd.so.3 libomxr_mc_hevd.so
+
+ ln -s libuvcs_hevd.so.3.0.0 libuvcs_hevd.so.3
+ ln -s libuvcs_hevd.so.3 libuvcs_hevd.so
+ fi
+
+ if [ "X${USE_MPEG2D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_m2vd.so.3.0.0 libomxr_mc_m2vd.so.3
+ ln -s libomxr_mc_m2vd.so.3 libomxr_mc_m2vd.so
+
+ ln -s libuvcs_m2vd.so.3.0.0 libuvcs_m2vd.so.3
+ ln -s libuvcs_m2vd.so.3 libuvcs_m2vd.so
+ fi
+
+ if [ "X${USE_MPEG4D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_m4vd.so.3.0.0 libomxr_mc_m4vd.so.3
+ ln -s libomxr_mc_m4vd.so.3 libomxr_mc_m4vd.so
+
+ ln -s libuvcs_m4vd.so.3.0.0 libuvcs_m4vd.so.3
+ ln -s libuvcs_m4vd.so.3 libuvcs_m4vd.so
+ fi
+
+ if [ "X${USE_VC1D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_vc1d.so.3.0.0 libomxr_mc_vc1d.so.3
+ ln -s libomxr_mc_vc1d.so.3 libomxr_mc_vc1d.so
+
+ ln -s libuvcs_vc1d.so.3.0.0 libuvcs_vc1d.so.3
+ ln -s libuvcs_vc1d.so.3 libuvcs_vc1d.so
+ fi
+
+ if [ "X${USE_DIVXD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_divxd.so.3.0.0 libomxr_mc_divxd.so.3
+ ln -s libomxr_mc_divxd.so.3 libomxr_mc_divxd.so
+
+ ln -s libuvcs_dvxd.so.3.0.0 libuvcs_dvxd.so.3
+ ln -s libuvcs_dvxd.so.3 libuvcs_dvxd.so
+ fi
+
+ if [ "X${USE_RVD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_rlvd.so.3.0.0 libomxr_mc_rlvd.so.3
+ ln -s libomxr_mc_rlvd.so.3 libomxr_mc_rlvd.so
+
+ ln -s libuvcs_rlvd.so.3.0.0 libuvcs_rlvd.so.3
+ ln -s libuvcs_rlvd.so.3 libuvcs_rlvd.so
+ fi
+}
+
+do_install_audio_middleware() {
+ cd ${D}/${libdir}
+
+ if [ "X${USE_AACLC_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/${baselib}/libAACDLA_L.so.3.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libAACDLA_L.so.3.0 libAACDLA_L.so.3
+ ln -s libAACDLA_L.so.3 libAACDLA_L.so
+ fi
+
+ if [ "X${USE_AACPV2_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/${baselib}/libRSACPDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSACPDLA_L.so.2.0 libRSACPDLA_L.so.2
+ ln -s libRSACPDLA_L.so.2 libRSACPDLA_L.so
+ fi
+
+ if [ "X${USE_MP3_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/${baselib}/libMP3DLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libMP3DLA_L.so.2.0 libMP3DLA_L.so.2
+ ln -s libMP3DLA_L.so.2 libMP3DLA_L.so
+ fi
+
+ if [ "X${USE_WMA_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/${baselib}/libWMASTDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libWMASTDLA_L.so.2.0 libWMASTDLA_L.so.2
+ ln -s libWMASTDLA_L.so.2 libWMASTDLA_L.so
+ fi
+
+ if [ "X${USE_DD_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/${baselib}/libRSDACDLA_L.so.2.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSDACDLA_L.so.2.0 libRSDACDLA_L.so.2
+ ln -s libRSDACDLA_L.so.2 libRSDACDLA_L.so
+ fi
+
+ if [ "X${USE_AACLCE_MDW}" = "X1" ]; then
+ install -m 755 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/${baselib}/libRSAACELA_L.so.3.0 \
+ ${D}/${libdir}
+ install -m 644 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir}
+
+ ln -s libRSAACELA_L.so.3.0 libRSAACELA_L.so.3
+ ln -s libRSAACELA_L.so.3 libRSAACELA_L.so
+ fi
+}
+
+do_install_omx_audio() {
+ cd ${D}/${libdir}
+ for omxmc in ${OMX_AUDIO_SRC_LIST}
+ do
+ src="${WORKDIR}/${omxmc}/"
+ install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir}
+ if [ -d ${src}/include ]; then
+ install -m 644 ${src}/include/*.h ${D}/${includedir}
+ fi
+ install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr
+ done
+
+ if [ "X${USE_AUDIO_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_acmn.so.3.0.0 libomxr_mc_acmn.so.3
+ ln -s libomxr_mc_acmn.so.3 libomxr_mc_acmn.so
+ fi
+
+ if [ "X${USE_AACLCD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aacd.so.3.0.0 libomxr_mc_aacd.so.3
+ ln -s libomxr_mc_aacd.so.3 libomxr_mc_aacd.so
+ fi
+
+ if [ "X${USE_AACPV2D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aapd.so.3.0.0 libomxr_mc_aapd.so.3
+ ln -s libomxr_mc_aapd.so.3 libomxr_mc_aapd.so
+ fi
+
+ if [ "X${USE_MP3D_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_mp3d.so.3.0.0 libomxr_mc_mp3d.so.3
+ ln -s libomxr_mc_mp3d.so.3 libomxr_mc_mp3d.so
+ fi
+
+ if [ "X${USE_WMAD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_wmad.so.3.0.0 libomxr_mc_wmad.so.3
+ ln -s libomxr_mc_wmad.so.3 libomxr_mc_wmad.so
+ fi
+
+ if [ "X${USE_ALACD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_alacd.so.3.0.0 libomxr_mc_alacd.so.3
+ ln -s libomxr_mc_alacd.so.3 libomxr_mc_alacd.so
+ fi
+
+ if [ "X${USE_FLACD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_flacd.so.3.0.0 libomxr_mc_flacd.so.3
+ ln -s libomxr_mc_flacd.so.3 libomxr_mc_flacd.so
+ fi
+
+ if [ "X${USE_AACLCE_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_aace.so.3.0.0 libomxr_mc_aace.so.3
+ ln -s libomxr_mc_aace.so.3 libomxr_mc_aace.so
+ fi
+
+ if [ "X${USE_DDD_OMX}" = "X1" ]; then
+ ln -s libomxr_mc_ddd.so.3.0.0 libomxr_mc_ddd.so.3
+ ln -s libomxr_mc_ddd.so.3 libomxr_mc_ddd.so
+ fi
+}
+
+do_install () {
+ if [ "X${USE_OMX_COMMON}" = "X1" ]; then
+ oe_runmake 'DESTDIR=${D}' install
+ # Info dir listing isn't interesting at this point so remove it if it exists.
+ if [ -e "${D}/${infodir}/dir" ]; then
+ rm -f ${D}/${infodir}/dir
+ fi
+ fi
+}
+
+do_install_append() {
+ # Create destination directory
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+ if [ "X${USE_OMX_COMMON}" = "X1" ]; then
+ install -d ${D}/${sysconfdir}/omxr
+ fi
+
+ # Copy omx video library
+ do_install_omx_video
+ # Copy audio middleware library
+ do_install_audio_middleware
+ # Copy omx audio library
+ do_install_omx_audio
+}
+
+INSANE_SKIP_${PN} = "dev-so"
+
+FILES_${PN} += " \
+ ${libdir}/*.so \
+"
+
+FILES_${PN}-dev = " \
+ ${includedir} \
+ ${libdir}/*.la \
+"
+
+RDEPENDS_${PN} += "mmngr-user-module vspmif-user-module"
+RDEPENDS_${PN} += '${@base_conditional("USE_ALACD_OMX", "1", "libalacdla-l", "", d )}'
+RDEPENDS_${PN} += '${@base_conditional("USE_FLACD_OMX", "1", "libflacdla-l", "", d )}'
+
+# Skip debug strip of do_populate_sysroot()
+INHIBIT_SYSROOT_STRIP = "1"
+
+# Skip debug split and strip of do_package()
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb b/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb
new file mode 100644
index 0000000..eeb3aa9
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/open-avb/open-avb_git.bb
@@ -0,0 +1,66 @@
+DESCRIPTION = "Open AVB - an AVnu sponsored repository for Audio/Video Bridging technology"
+HOMEPAGE = "https://github.com/AVnu/Open-AVB"
+LICENSE = "BSD & MIT & GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = " \
+ file://daemons/LICENSE;md5=81ccd62d4bc28bafc5e1a2576536b927 \
+ file://kmod/igb/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://kmod/igb/LICENSE;md5=e2c0cd0820d168b0b26e19f13df4dc56 \
+ file://lib/igb/LICENSE;md5=9bc783ca40be823a8b237df5eed80fc4 \
+ file://lib/avtp_pipeline/LICENSE;md5=8f7b370a91d698ed80d2d20e8e01fbb6 \
+ file://examples/LICENSE;md5=81ccd62d4bc28bafc5e1a2576536b927 \
+ file://examples/gstreamer-avb-plugins/COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
+ file://examples/gstreamer-avb-plugins/COPYING.MIT;md5=bba6cdb9c2b03c849ed4975ed9ed90dc \
+"
+
+DEPENDS = "libpcap"
+
+PV = "1.1+git${SRCPV}"
+
+SRCREV = "bfa7f9d0c5c8ffe1c0248c6415b3f94e8b7f10c5"
+SRC_URI = "git://github.com/AVnu/Open-AVB.git;branch=open-avb-next"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "'CC=${CC}' 'CXX=${CXX}'"
+
+do_compile() {
+ oe_runmake daemons_all
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 755 daemons/maap/linux/maap_daemon ${D}/${bindir}
+ install -m 755 daemons/mrpd/mrpd daemons/mrpd/mrpctl ${D}/${bindir}
+ install -m 755 daemons/gptp/linux/build/obj/daemon_cl ${D}/${bindir}
+}
+
+PACKAGES =+ " \
+ ${PN}-gptp \
+ ${PN}-mrpd \
+ ${PN}-maap \
+"
+
+ALLOW_EMPTY_${PN} = "1"
+
+FILES_${PN}-gptp = " \
+ ${bindir}/daemon_cl \
+"
+
+FILES_${PN}-mrpd = " \
+ ${bindir}/mrpd \
+ ${bindir}/mrpctl \
+"
+
+FILES_${PN}-maap = " \
+ ${bindir}/maap_daemon \
+"
+
+RDEPENDS_${PN} = " \
+ ${PN}-gptp \
+ ${PN}-mrpd \
+ ${PN}-maap \
+"
+
+RDEPENDS_${PN}-maap = " \
+ libpcap \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb
new file mode 100644
index 0000000..4f76373
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-gstreamer1.0-plugins.bb
@@ -0,0 +1,85 @@
+SUMMARY = "GStreamer 1.0 package groups"
+LICENSE = "MIT"
+
+require include/omx-control.inc
+
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good"
+DEPENDS += "gstreamer1.0-plugins-bad"
+DEPENDS += "gstreamer1.0-plugins-ugly"
+DEPENDS += "${@base_conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)}"
+
+LIC_FILES_CHKSUM = " \
+ file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
+ file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-gstreamer1.0-plugins \
+ packagegroup-gstreamer1.0-plugins-base \
+ packagegroup-gstreamer1.0-plugins-audio \
+ packagegroup-gstreamer1.0-plugins-video \
+ ${@base_conditional("USE_OMX_COMMON", "1", "packagegroup-gstreamer1.0-omx", "", d)} \
+ packagegroup-gstreamer1.0-plugins-debug \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins = " \
+ packagegroup-gstreamer1.0-plugins-base \
+ packagegroup-gstreamer1.0-plugins-audio \
+ packagegroup-gstreamer1.0-plugins-video \
+ ${@base_conditional("USE_OMX_COMMON", "1", "packagegroup-gstreamer1.0-omx", "", d)} \
+ packagegroup-gstreamer1.0-plugins-debug \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-base = " \
+ gstreamer1.0-meta-base \
+ gstreamer1.0-plugins-base-typefindfunctions \
+ gstreamer1.0-plugins-good-id3demux \
+ gstreamer1.0-plugins-good-autodetect \
+ ${@base_conditional("USE_OMX_COMMON", "1", "gstreamer1.0-plugin-vspfilter", "", d)} \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-audio = " \
+ gstreamer1.0-meta-audio \
+ gstreamer1.0-plugins-good-audioparsers \
+ gstreamer1.0-plugins-base-audiotestsrc \
+ gstreamer1.0-plugins-base-audioconvert \
+ gstreamer1.0-plugins-base-audioresample \
+ gstreamer1.0-plugins-base-alsa \
+ gstreamer1.0-plugins-base-ogg \
+ gstreamer1.0-plugins-base-vorbis \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-video = " \
+ gstreamer1.0-meta-video \
+ gstreamer1.0-plugins-base-videotestsrc \
+ gstreamer1.0-plugins-base-videoconvert \
+ gstreamer1.0-plugins-base-playback \
+ gstreamer1.0-plugins-base-videoscale \
+ gstreamer1.0-plugins-base-videorate \
+ gstreamer1.0-plugins-good-matroska \
+ gstreamer1.0-plugins-good-isomp4 \
+ gstreamer1.0-plugins-good-avi \
+ gstreamer1.0-plugins-good-videofilter \
+ gstreamer1.0-plugins-good-videomixer \
+ gstreamer1.0-plugins-good-videocrop \
+ gstreamer1.0-plugins-good-video4linux2 \
+ gstreamer1.0-plugins-good-jpeg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', \
+ 'gstreamer1.0-plugins-bad-waylandsink', '', d)} \
+ gstreamer1.0-plugins-bad-videoparsersbad \
+ gstreamer1.0-plugins-bad-mpegtsdemux \
+ gstreamer1.0-plugins-bad-jpegformat \
+ gstreamer1.0-plugins-ugly-asf \
+ gstreamer1.0-libav \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-omx = " \
+ ${@base_conditional("USE_OMX_COMMON", "1", "gstreamer1.0-omx", "", d)} \
+"
+
+RDEPENDS_packagegroup-gstreamer1.0-plugins-debug = " \
+ gstreamer1.0-meta-debug \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb
new file mode 100644
index 0000000..8d62972
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-kernel.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Multimedia kernel modules package groups"
+LICENSE = "GPLv2 & MIT"
+
+require include/omx-control.inc
+
+DEPENDS = "kernel-module-mmngr kernel-module-mmngrbuf \
+ kernel-module-vspm kernel-module-vspmif \
+ kernel-module-vsp2driver \
+"
+
+DEPENDS += '${@base_conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )}'
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-multimedia-kernel-modules \
+"
+
+RDEPENDS_packagegroup-multimedia-kernel-modules = " \
+ kernel-module-mmngr \
+ kernel-module-mmngrbuf \
+ kernel-module-vspm \
+ kernel-module-vspmif \
+ kernel-module-vsp2driver \
+"
+
+RDEPENDS_packagegroup-multimedia-kernel-modules += " \
+ ${@base_conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )} \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb
new file mode 100644
index 0000000..323f6ae
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/packagegroups/packagegroup-multimedia-libs.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Multimedia user libraries modules package groups"
+LICENSE = "MIT"
+
+DEPENDS = "mmngr-user-module mmngrbuf-user-module \
+ vspmif-user-module libalacdla-l libflacdla-l \
+"
+
+PR = "r0"
+
+inherit packagegroup
+
+PACKAGES = " \
+ packagegroup-multimedia-libs \
+"
+
+RDEPENDS_packagegroup-multimedia-libs = " \
+ mmngr-user-module mmngrbuf-user-module \
+ vspmif-user-module \
+ libalacdla-l libflacdla-l \
+"
diff --git a/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb
new file mode 100644
index 0000000..a83d871
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-tp-user-module.bb
@@ -0,0 +1,46 @@
+DESCRIPTION = "VSP Manager Interface test app for R-Car Gen3"
+
+require vspmif.inc
+
+DEPENDS = "vspmif-user-module mmngr-user-module"
+PN = "vspmif-tp-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+VSPMIF_TP_DIR = "vspm_if-tp-user/files/vspm_if"
+
+# Get Wordsize of test app and change their names later to avoid override
+WS_aarch64 = ""
+WS_virtclass-multilib-lib32 = "32"
+
+do_compile() {
+ cd ${S}/${VSPMIF_TP_DIR}
+ make all
+}
+
+do_install() {
+ # Create destination folder
+ install -d ${D}${RENESAS_DATADIR}/bin/
+
+ # Copy user test program
+ if [ X${WS} = "X32" ]; then
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/vspm_tp ${D}${RENESAS_DATADIR}/bin/vspm_tp32
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/fdpm_tp ${D}${RENESAS_DATADIR}/bin/fdpm_tp32
+ else
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/vspm_tp ${D}${RENESAS_DATADIR}/bin/
+ install -m 755 ${S}/${VSPMIF_TP_DIR}/fdpm_tp ${D}${RENESAS_DATADIR}/bin/
+ fi
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dbg \
+"
+FILES_${PN} = " \
+ ${@base_conditional('WS', '32', '${RENESAS_DATADIR}/bin/vspm_tp32 ${RENESAS_DATADIR}/bin/fdpm_tp32', \
+ '${RENESAS_DATADIR}/bin/vspm_tp ${RENESAS_DATADIR}/bin/fdpm_tp', d)}"
+
+FILES_${PN}-dbg = " \
+ ${RENESAS_DATADIR}/bin/.debug/*"
+
+RPROVIDES_${PN} += "vspmif-tp-user-module"
diff --git a/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb
new file mode 100644
index 0000000..bf7fef6
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif-user-module.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "VSP Manager Interface library for R-Car Gen3"
+
+require vspmif.inc
+
+DEPENDS = "kernel-module-vspmif mmngr-user-module"
+PN = "vspmif-user-module"
+PR = "r0"
+
+S = "${WORKDIR}/git"
+VSPMIF_LIB_DIR = "vspm_if-module/files/vspm_if"
+
+EXTRA_OEMAKE = "ARCH=${TARGET_ARCH}"
+
+includedir = "${RENESAS_DATADIR}/include"
+
+do_compile() {
+ export VSPM_LEGACY_IF="1"
+
+ # Build shared library
+ cd ${S}/${VSPMIF_LIB_DIR}/if
+ rm -rf ${S}/${VSPMIF_LIB_DIR}/if/libvspm.so*
+ oe_runmake
+}
+
+do_install() {
+ # Create destination folders
+ install -d ${D}/${libdir}
+ install -d ${D}/${includedir}
+
+ # Copy shared library
+ install -m 755 ${S}/${VSPMIF_LIB_DIR}/if/libvspm.so* ${D}/${libdir}/
+ cd ${D}/${libdir}/
+ ln -sf libvspm.so.1.0.0 libvspm.so.1
+ ln -sf libvspm.so.1 libvspm.so
+
+ # Copy shared header files
+ install -m 644 ${S}/${VSPMIF_LIB_DIR}/include/vspm_public.h ${D}/${includedir}/
+ install -m 644 ${S}/${VSPMIF_LIB_DIR}/include/fdpm_api.h ${D}/${includedir}/
+}
+
+PACKAGES = "\
+ ${PN} \
+ ${PN}-dev \
+ ${PN}-dbg \
+"
+
+RPROVIDES_${PN} += "vspmif-user-module"
+INSANE_SKIP_${PN} += "libdir"
+INSANE_SKIP_${PN}-dev += "libdir"
diff --git a/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc
new file mode 100644
index 0000000..5a37cf5
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/vspmif-module/vspmif.inc
@@ -0,0 +1,15 @@
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+ file://COPYING.MIT;md5=30a99e0d36a3da1f5cf93c070ad7888a \
+"
+
+require include/rcar-gen3-modules-common.inc
+
+VSPMIF_LIB_URL = "git://github.com/renesas-rcar/vspmif_lib.git"
+BRANCH = "rcar_gen3"
+SRCREV = "3d2c4c93e7d7b723722f4294d5e81339c06aa03a"
+
+SRC_URI = "${VSPMIF_LIB_URL};branch=${BRANCH}"
+
+# This module is machine specific.
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff b/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff
new file mode 100644
index 0000000..e8523df
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/webp/libwebp/disabled_arm_neon_for_0.5.1.diff
@@ -0,0 +1,13 @@
+diff --git a/src/dsp/dsp.h b/src/dsp/dsp.h
+index 1faac27..8aae380 100644
+--- a/src/dsp/dsp.h
++++ b/src/dsp/dsp.h
+@@ -77,7 +77,7 @@ extern "C" {
+ #if (defined(__ARM_NEON__) || defined(WEBP_ANDROID_NEON) || \
+ defined(__aarch64__) || defined(WEBP_HAVE_NEON)) && \
+ !defined(__native_client__)
+-#define WEBP_USE_NEON
++//#define WEBP_USE_NEON
+ #endif
+
+ #if defined(_MSC_VER) && _MSC_VER >= 1700 && defined(_M_ARM)
diff --git a/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend b/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend
new file mode 100644
index 0000000..9035026
--- /dev/null
+++ b/meta-rcar-gen3/recipes-multimedia/webp/libwebp_%.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+# Add W/A patch for linaro gcc.
+# This patch disabled neon. (undefined #WEBP_USE_NEON)
+SRC_URI_append = " file://disabled_arm_neon_for_0.5.1.diff"