summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-bsp')
-rw-r--r--meta-agl-bsp/README19
-rw-r--r--meta-agl-bsp/classes/sdcard_image-socfpga.bbclass182
-rw-r--r--meta-agl-bsp/conf/include/agl_am62xx-evm.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_bbe.inc40
-rw-r--r--meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_beaglebone.inc40
-rw-r--r--meta-agl-bsp/conf/include/agl_beagleplay.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_cubox-i.inc31
-rw-r--r--meta-agl-bsp/conf/include/agl_cyclone5.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_dra7xx-evm.inc42
-rw-r--r--meta-agl-bsp/conf/include/agl_dragonboard-410c.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_dragonboard-820c.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_ebisu.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc11
-rw-r--r--meta-agl-bsp/conf/include/agl_h3-salvator-x.inc7
-rw-r--r--meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc17
-rw-r--r--meta-agl-bsp/conf/include/agl_h3ulcb.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_hsdk.inc4
-rw-r--r--meta-agl-bsp/conf/include/agl_imx-common.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_imx6-common.inc14
-rw-r--r--meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc22
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk.inc23
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc19
-rw-r--r--meta-agl-bsp/conf/include/agl_j721e-evm.inc11
-rw-r--r--meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_m3-salvator-x.inc5
-rw-r--r--meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc20
-rw-r--r--meta-agl-bsp/conf/include/agl_m3ulcb.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_nitrogen6x.inc20
-rw-r--r--meta-agl-bsp/conf/include/agl_qemuarm.inc20
-rw-r--r--meta-agl-bsp/conf/include/agl_qemuarm64.inc23
-rw-r--r--meta-agl-bsp/conf/include/agl_qemuriscv64.inc11
-rw-r--r--meta-agl-bsp/conf/include/agl_qemux86-64.inc25
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi3.inc27
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi4.inc25
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi5.inc34
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar-nogfx.inc57
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar.inc51
-rw-r--r--meta-agl-bsp/conf/include/agl_refhw-h3.inc16
-rw-r--r--meta-agl-bsp/conf/include/agl_s4sk.inc9
-rw-r--r--meta-agl-bsp/conf/include/agl_salvator-nogfx.inc17
-rw-r--r--meta-agl-bsp/conf/include/agl_salvator.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_unmatched.inc4
-rw-r--r--meta-agl-bsp/conf/include/agl_virtio-aarch64.inc14
-rw-r--r--meta-agl-bsp/conf/layer.conf2
-rw-r--r--meta-agl-bsp/conf/machine/include/virtio.inc23
-rw-r--r--meta-agl-bsp/conf/machine/qemuarm.conf18
-rw-r--r--meta-agl-bsp/conf/machine/virtio-aarch64.conf36
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/gpsd.refhw5
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh35
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh.bak32
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw.conf2
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend33
-rw-r--r--meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/mesa/mesa_%.bbappend7
-rw-r--r--meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/libva_%.bbappend4
-rw-r--r--meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf.bbappend7
-rw-r--r--meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg18
-rw-r--r--meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston_%.bbappend3
-rw-r--r--meta-agl-bsp/meta-core/recipes-core/ovmf/ovmf_git.bbappend1
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend3
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc7
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_agl.inc3
-rwxr-xr-xmeta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/hciattach.cfg17
-rw-r--r--meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/most_deps.cfg9
-rw-r--r--meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/qemuarm.cfg6
-rw-r--r--meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/virtio.cfg6
-rw-r--r--meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto_%.bbappend17
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.service9
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.sh48
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb30
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg3
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend10
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch49
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/fixups.cfg1
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch22
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch22
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/etnaviv.cfg4
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend31
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc22
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend26
-rw-r--r--meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend3
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/extra-graphic-devices.cfg40
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/fix_branch.scc3
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/lava.cfg3
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/net-devices.cfg2
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/security-tpm.cfg3
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/startup.nsh1
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/upsquare.cfg4
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/files/usb-devices.cfg82
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_4.19%.bbappend28
-rw-r--r--meta-agl-bsp/meta-iot-cloud/recipes-azure/azure-macro-utils-c/azure-macro-utils-c_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-iot-cloud/recipes-azure/umock-c/umock-c_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb32
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service12
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb20
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend3
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend1
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend43
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend6
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/files/0001-board-raspberrypi-add-serial-and-revision-to-the-dev-2019.07.patch82
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2020.01.bbappend7
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend7
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg5
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270-720p.cfg7
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb42
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend3
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/files/0001-fdtoverlay-Prevent-overlays-from-modifying-phandle-p.patch154
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch25
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch31
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch48
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg (renamed from meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg)0
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend57
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend20
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend11
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/arm-trusted-firmware1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/si-tools1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt-firmware1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/u-boot1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-graphics/cairo1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-kernel/linux1
l---------meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/conf/NOTES74
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc19
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf67
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-init_1.0.bb4
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bbappend6
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt/ti-bt_%.bbappend6
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch68
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch58
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/disable_most.cfg9
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_%.bbappend16
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bbappend3
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend (renamed from meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb)30
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/include/checksum_control.inc25
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/include/checksum_control_files.inc16
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state/asound.state2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend12
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch28
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-h3ulcb.txt2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-m3ulcb.txt2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb10
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch29
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb61
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend7
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff13
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb55
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb57
l---------meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control.inc1
l---------meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control_files.inc1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend3
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/virtual-gles-user-module/virtual-gles-user-module.bb2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/wayland-wsegl.bbappend1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend19
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend1
l---------meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control.inc1
l---------meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control_files.inc1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend6
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend2
l---------meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control.inc1
l---------meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control_files.inc1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch95
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/Set_GOV_PERFORMANCE.cfg2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a77960-ulcb-xen.dts (renamed from meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a7796-m3ulcb-xen.dts)2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/vivid.cfg6
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_%.bbappend28
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bbappend3
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend5
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend11
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend11
l---------meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control.inc1
l---------meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control_files.inc1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bbappend4
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh16
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-graphics/wayland/weston-ini-conf.bbappend5
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg1
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend5
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch46
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend3
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg19
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend6
-rw-r--r--meta-agl-bsp/meta-synopsys/recipes-kernel/linux/linux-arc_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/.gitkeep (renamed from meta-agl-bsp/meta-ti/.gitkeep)0
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend (renamed from meta-agl-bsp/meta-ti/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend)0
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend2
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_%.bbappend2
-rw-r--r--meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-Add-soc-performance-monitor-utilites.patch3570
-rw-r--r--meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch41
-rw-r--r--meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-weston-Fix-touch-screen-crash-issue.patch39
-rw-r--r--meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch79
-rw-r--r--meta-agl-bsp/meta-ti/recipes-arago/weston/weston_8.0.0.bbappend13
-rw-r--r--meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state/asound.state1347
-rw-r--r--meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch30
-rw-r--r--meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend3
-rwxr-xr-xmeta-agl-bsp/meta-ti/recipes-bsp/u-boot/files/uEnv.txt1
-rw-r--r--meta-agl-bsp/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend16
-rw-r--r--meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service19
-rw-r--r--meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend18
-rw-r--r--meta-agl-bsp/meta-ti/recipes-graphics/mesa/mesa-gl_%.bbappend7
-rw-r--r--meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend7
-rw-r--r--meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg3
-rw-r--r--meta-agl-bsp/meta-ti/recipes-kernel/linux/files/dcan2_pinmux_enable.patch39
-rw-r--r--meta-agl-bsp/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend11
-rw-r--r--meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch15
-rw-r--r--meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend7
-rw-r--r--meta-agl-bsp/openembedded-layer/recipes-devtools/lua/lua_%.bbappend4
-rw-r--r--meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch41
-rw-r--r--meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-fixup-build-with-gcc6.patch86
-rw-r--r--meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch138
-rw-r--r--meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-fixup-build-with-gcc7.patch101
-rw-r--r--meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota_2015.07.bb29
-rw-r--r--meta-agl-bsp/recipes-graphics/opencv/opencv/0004-Change-Max-Device-Count-To-16.patch13
-rw-r--r--meta-agl-bsp/recipes-graphics/opencv/opencv_4.%.bbappend5
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb30
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend12
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg5
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg6
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg6
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg3
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg3
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg5
-rw-r--r--meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend6
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch40
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch109
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-4.14/net-sch_generic-add-if_afp.h-header-to-get-ARPHRD_CA.patch25
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc14
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-agl-4.19.inc5
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-agl.inc125
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg4
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg37
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg41
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg2
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg26
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg9
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch75
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/netfilter.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg34
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg2
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg2
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg7
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg4
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg7
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/systemtap.cfg9
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg8
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg2
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg7
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg4
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg19
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg40
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/x86-net-devices.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/x86-security-tpm.cfg3
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/x86-upsquare.cfg8
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/x86-usb-devices.cfg82
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/xen_domu.cfg25
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch140
-rw-r--r--meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.%.bbappend4
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-mkimage-rpi4.bb8
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-tools_git.bbappend8
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen_git.bbappend12
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch34
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend10
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc13
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend17
-rw-r--r--meta-agl-bsp/wic/systemd-joule-bootdisk.wks12
293 files changed, 1928 insertions, 8217 deletions
diff --git a/meta-agl-bsp/README b/meta-agl-bsp/README
new file mode 100644
index 000000000..69ca72c9d
--- /dev/null
+++ b/meta-agl-bsp/README
@@ -0,0 +1,19 @@
+This is meta-agl-bsp.
+
+This layer holds the 'impedance-mismatch' between AGL and the BSP's.
+
+/dream on
+In an ideal world, this would be empty!
+/dream off
+
+Maintenance
+-----------
+
+All patches must be submitted via the AGL Gerrit instance at
+https://gerrit.automotivelinux.org. See this wiki page for
+details:
+
+https://wiki.automotivelinux.org/agl-distro/contributing
+
+Layer maintainers:
+ Jan-Simon Möller <jsmoeller@linuxfoundation.org>
diff --git a/meta-agl-bsp/classes/sdcard_image-socfpga.bbclass b/meta-agl-bsp/classes/sdcard_image-socfpga.bbclass
deleted file mode 100644
index 2967063e0..000000000
--- a/meta-agl-bsp/classes/sdcard_image-socfpga.bbclass
+++ /dev/null
@@ -1,182 +0,0 @@
-inherit image_types
-
-# Create an sdcard image suitable for the atlas board
-# This is copied from the raspberrypi and freescale sdcard classes
-
-# Disk layout
-# 0 -> 8*1024 - reserverd
-# 8*1024 -> 32*1024 -
-# 32*1024 -> 1024*1024 -
-# 1024*1024 -> BOOT_SPACE - bootloader and kernel in Part 3
-# BOOT_SPACE*1024 -> FAT_SPACE
-
-
-
-# This image depends on the rootfs image
-IMAGE_TYPEDEP_socfpga-sdimg = "${SDIMG_ROOTFS_TYPE}"
-
-# Boot partition volume id
-BOOTDD_VOLUME_ID ?= "${MACHINE}"
-
-# Boot partition size [in KiB] -> size 2M for A10
-BOOT_SPACE ?= "2048"
-
-# Fat partition size
-FAT_SPACE ?= "102400"
-
-# uBoot ENV offset
-SDIMG_UBOOT_ENV_OFFSET ?= "512"
-ENV_BASE_NAME ??= "${UBOOT_CONFIG}"
-
-# Boot partition begin at sector 1024
-# This is required as for c5/a5 mainline uboot hard codes the location
-# of the uboot image in the sdcard to 0xa00 sector
-IMAGE_ROOTFS_ALIGNMENT = "1024"
-
-# ROOTFS_SIZE_MOD ?= "524288"
-ROOTFS_SIZE_MOD ?= "16384"
-
-# Use an uncompressed ext3 by default as rootfs
-SDIMG_ROOTFS_TYPE = "ext3"
-SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
-
-
-do_image_socfpga_sdimg[depends] += " \
- coreutils-native:do_populate_sysroot \
- parted-native:do_populate_sysroot \
- mtools-native:do_populate_sysroot \
- dosfstools-native:do_populate_sysroot \
- virtual/kernel:do_deploy \
- virtual/bootloader:do_deploy \
- "
-
-rootfs[depends] += "virtual/kernel:do_deploy"
-
-# SD card image name
-SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.socfpga-sdimg"
-
-IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
-
-# After uboot v2016.05 the boot partition number was changed from 3 to 1 so as a
-# result we need 2 different functions for creating the boot partitions just to
-# change the partition creation order
-
-SOCFPGA_SDIMG_PARTITION_COMMAND ?= "generate_sdcard_partitions"
-
-generate_sdcard_partitions () {
-
- # Create partition table
- parted -s ${SDIMG} mklabel msdos
- # P1: Fat partition
- parted -s ${SDIMG} unit KiB mkpart primary fat32 $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ ${FAT_SPACE_ALIGNED})
- # set fat partition as bootable for distroboot
- parted -s ${SDIMG} set 1 boot on
- # P2: Linux FS partition
- parted -s ${SDIMG} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ ${FAT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ ${FAT_SPACE_ALIGNED} \+ ${ROOTFS_SIZE_ALIGNED})
- # P3: A2 partition for bootloader
- parted -s ${SDIMG} unit KiB mkpart primary ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
-
- # set part 3 to type a2 for spl / uboot image
- # 446 to partition table, 16 bytes per entry, 4 byte offset to partition type
- echo -ne "\xa2" | dd of=${SDIMG} bs=1 count=1 seek=$(expr 446 + 16 + 16 + 4) conv=notrunc && sync && sync
-
- # Create a vfat image with boot files
- FAT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
- rm -f ${WORKDIR}/fat.img
- mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/fat.img $FAT_BLOCKS
-
-}
-
-IMAGE_CMD_socfpga-sdimg () {
-
- # Align partitions
- BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
- BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
- FAT_SPACE_ALIGNED=$(expr ${FAT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
- FAT_SPACE_ALIGNED=$(expr ${FAT_SPACE_ALIGNED} - ${FAT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
-
- ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE} \+ ${ROOTFS_SIZE_MOD})
- ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE_ALIGNED} \- ${ROOTFS_SIZE_ALIGNED} \% ${ROOTFS_SIZE_MOD})
-
- SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + ${FAT_SPACE_ALIGNED} + ${ROOTFS_SIZE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT})
-
- # Initialize sdcard image file
- dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE}) && sync && sync
-
- # Create partition table
- ${SOCFPGA_SDIMG_PARTITION_COMMAND}
-
- # Copy kernel image
- mcopy -i ${WORKDIR}/fat.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::/${KERNEL_IMAGETYPE}
-
- # Copy boot scripts
- if [ -e "${DEPLOY_DIR_IMAGE}/${MACHINE}.scr" ]
- then
- mcopy -i ${WORKDIR}/fat.img -s ${DEPLOY_DIR_IMAGE}/${MACHINE}.scr ::/u-boot.scr
- fi
-
- # Copy device tree file
- if test -n "${KERNEL_DEVICETREE}"; then
- for DTS_FILE in ${KERNEL_DEVICETREE}; do
- DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
- if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
- kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
- kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
- if [ $kernel_bin = $kernel_bin_for_dtb ]; then
- mcopy -i ${WORKDIR}/fat.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb ::/${DTS_BASE_NAME}.dtb
- fi
- fi
- done
- fi
-
- # copy extlinux stuff
- if [ "${UBOOT_EXTLINUX}" = "1" ]
- then
- if [ -e "${DEPLOY_DIR_IMAGE}/extlinux.conf" ]
- then
- rm -Rf ${WORKDIR}/extlinux
- mkdir ${WORKDIR}/extlinux
- cp ${DEPLOY_DIR_IMAGE}/extlinux.conf ${WORKDIR}/extlinux/
- mcopy -i ${WORKDIR}/fat.img -s ${WORKDIR}/extlinux ::/
- fi
-
- fi
-
- # copy any files listed as extra files
- if test -n "${SOCFPGA_SDIMG_EXTRA_FILES}"; then
- for EXTRA_FILE in ${SOCFPGA_SDIMG_EXTRA_FILES}; do
- if [ -e "${DEPLOY_DIR_IMAGE}/${EXTRA_FILE}" ]; then
- mcopy -i ${WORKDIR}/fat.img -s ${DEPLOY_DIR_IMAGE}/${EXTRA_FILE} ::/${EXTRA_FILE}
- fi
- done
- fi
-
- # Add stamp file
- echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
- mcopy -i ${WORKDIR}/fat.img -v ${WORKDIR}//image-version-info ::
-
- # Burn Partitions
- dd if=${WORKDIR}/fat.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
- # If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
- if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
- then
- xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + 1024 \* ${FAT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
- else
- dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + 1024 \* ${FAT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
- fi
-
- if [ -e "${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG}" ]
- then
- dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY}-${UBOOT_CONFIG} of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
- elif [ -e "${DEPLOY_DIR_IMAGE}/${SPL_BINARY}" ]
- then
- dd if=${DEPLOY_DIR_IMAGE}/${SPL_BINARY} of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
- else
- bbfatal "${SPL_BINARY} does not exist."
- fi
-
- if [ -e "${DEPLOY_DIR_IMAGE}/u-boot-env-${ENV_BASE_NAME}.bin" ]; then
- dd if=${DEPLOY_DIR_IMAGE}/u-boot-env-${ENV_BASE_NAME}.bin of=${SDIMG} conv=notrunc bs=1 seek=${SDIMG_UBOOT_ENV_OFFSET} && sync && sync
- fi
-
-}
diff --git a/meta-agl-bsp/conf/include/agl_am62xx-evm.inc b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc
new file mode 100644
index 000000000..24fd95141
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc
@@ -0,0 +1,8 @@
+# am62xx-evm has a k3r5 BBMULTICONFIG to build its bootloader
+# firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_bbe.inc b/meta-agl-bsp/conf/include/agl_bbe.inc
index 5c28bea20..5252c558b 100644
--- a/meta-agl-bsp/conf/include/agl_bbe.inc
+++ b/meta-agl-bsp/conf/include/agl_bbe.inc
@@ -6,35 +6,19 @@
CORE_IMAGE_EXTRA_INSTALL += "packagegroup-machine-base"
#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX = "ti-sgx-ddk-km"
-IMAGE_INSTALL_append = " ${PACKAGES_GFX}"
-
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " sgx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-DEPENDS_remove = "virtual/libgl"
-
-# Preferred providers
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
-
-#-------------------------------------------------
## Multimedia section ##
#-------------------------------------------------
# DEFAULTTUNE for cortex-a8
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
-
-SECURITY_CFLAGS_pn-mozjs = ""
-SECURITY_LDFLAGS_pn-mozjs = ""
-SECURITY_CFLAGS_pn-gpm = ""
-SECURITY_LDFLAGS_pn-gpm = ""
-SECURITY_CFLAGS_pn-libatasmart = ""
-SECURITY_LDFLAGS_pn-libatasmart = ""
+DISTRO_FEATURES:append = " agl-medium-arm-compiler"
+
+SECURITY_CFLAGS:pn-mozjs = ""
+SECURITY_LDFLAGS:pn-mozjs = ""
+SECURITY_CFLAGS:pn-gpm = ""
+SECURITY_LDFLAGS:pn-gpm = ""
+SECURITY_CFLAGS:pn-libatasmart = ""
+SECURITY_LDFLAGS:pn-libatasmart = ""
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
new file mode 100644
index 000000000..1e03b70ff
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
@@ -0,0 +1,6 @@
+# beaglebone-ai64 has a k3r5 BBMULTICONFIG to build its bootloader
+# and firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_beaglebone.inc b/meta-agl-bsp/conf/include/agl_beaglebone.inc
index cfd189df3..ec3a3a448 100644
--- a/meta-agl-bsp/conf/include/agl_beaglebone.inc
+++ b/meta-agl-bsp/conf/include/agl_beaglebone.inc
@@ -1,40 +1,10 @@
# This config is for the beaglebone (inspired from the vayu config).
-#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX = "ti-sgx-ddk-km"
-IMAGE_INSTALL_append = " ${PACKAGES_GFX}"
-
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " sgx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-DEPENDS_remove = "virtual/libgl"
-
-# Preferred providers
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
-
-#-------------------------------------------------
-## Multimedia section ##
-#-------------------------------------------------
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
-PREFERRED_VERSION_virtual/kernel = "4.9"
-
# DEFAULTTUNE for cortex-a8
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
-
-SECURITY_CFLAGS_pn-mozjs = ""
-SECURITY_LDFLAGS_pn-mozjs = ""
-SECURITY_CFLAGS_pn-gpm = ""
-SECURITY_LDFLAGS_pn-gpm = ""
-SECURITY_CFLAGS_pn-libatasmart = ""
-SECURITY_LDFLAGS_pn-libatasmart = ""
+DISTRO_FEATURES:append = " agl-medium-arm-compiler"
WKS_FILE = "sdimage-bootpart-uuid.wks"
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_beagleplay.inc b/meta-agl-bsp/conf/include/agl_beagleplay.inc
new file mode 100644
index 000000000..77b669bb7
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_beagleplay.inc
@@ -0,0 +1,6 @@
+# beagleplay has a k3r5 BBMULTICONFIG to build its bootloader
+# and firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc
index 46464325b..ee5e759e4 100644
--- a/meta-agl-bsp/conf/include/agl_cubox-i.inc
+++ b/meta-agl-bsp/conf/include/agl_cubox-i.inc
@@ -1,24 +1,15 @@
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
+require agl_imx6-common.inc
-# This disables the Freescale/NXP Vivante GPU driver and enables
-# etnaviv support.
-MACHINEOVERRIDES .= ":use-mainline-bsp"
-
-# Disable meta-freescale package architecure mangling, as it causes
-# issues with AGL's explicit setting of DEFAULTTUNE.
-INHERIT_remove = "fsl-dynamic-packagearch"
-MACHINE_SOCARCH = "${TUNE_PKGARCH}"
+# Force use of the community supported LTS kernel instead of the
+# default linux-fslc
+PREFERRED_PROVIDER_virtual/kernel = "linux-fslc-lts"
# Include devicetrees for SOM 1.5 and Hummingboard 2 hardware
-KERNEL_DEVICETREE_append = " \
- imx6dl-hummingboard-som-v15.dtb imx6q-hummingboard-som-v15.dtb \
- imx6dl-hummingboard2.dtb imx6q-hummingboard2.dtb \
- imx6dl-hummingboard2-som-v15.dtb imx6q-hummingboard2-som-v15.dtb \
+KERNEL_DEVICETREE:append = " \
+ imx6dl-hummingboard-som-v15.dtb \
+ imx6q-hummingboard-som-v15.dtb \
+ imx6dl-hummingboard2.dtb \
+ imx6q-hummingboard2.dtb \
+ imx6dl-hummingboard2-som-v15.dtb \
+ imx6q-hummingboard2-som-v15.dtb \
"
-
-# Disable the meta-freescale weston-init bbappend as it conflicts
-# with AGL's.
-BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
-
-# Set CMA size large enough to work with AGL
-UBOOT_EXTLINUX_KERNEL_ARGS_append = " cma=512M"
diff --git a/meta-agl-bsp/conf/include/agl_cyclone5.inc b/meta-agl-bsp/conf/include/agl_cyclone5.inc
index 7ebd4090c..3f12a2a92 100644
--- a/meta-agl-bsp/conf/include/agl_cyclone5.inc
+++ b/meta-agl-bsp/conf/include/agl_cyclone5.inc
@@ -1,7 +1,7 @@
OSTREE_BOOTLOADER ?= "u-boot"
# DEFAULTTUNE for cortex-a9
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
+DISTRO_FEATURES:append = " agl-medium-arm-compiler"
# Use the AGL default ext4.xz to generate the rpi-sdimg
SDIMG_ROOTFS_TYPE = "ext4.xz"
diff --git a/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc b/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc
deleted file mode 100644
index ccc8feb9a..000000000
--- a/meta-agl-bsp/conf/include/agl_dra7xx-evm.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-
-#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX_${MACHINE} = "ti-sgx-ddk-km"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " sgx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-DEPENDS_remove = "virtual/libgl"
-
-# Preferred providers
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
-
-#-------------------------------------------------
-## Multimedia section ##
-#-------------------------------------------------
-
-PACKAGES_MULTIMEDIA = " \
- ipumm-fw \
- ${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio-misc' , '', d)} \
-"
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-ti-staging"
-PREFERRED_VERSION_virtual/kernel = "4.9"
-
-# Distribution-specific runtime components
-IMAGE_INSTALL_append = " \
- ${PACKAGES_GFX} \
- ${PACKAGES_MULTIMEDIA} \
- cmem \
-"
-
-# Include WIC support based on beaglebone
-do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
-WKS_FILE = "sdimage-bootpart-uuid.wks"
-IMAGE_BOOT_FILES = "MLO u-boot.img uEnv.txt"
diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
deleted file mode 100644
index f66265369..000000000
--- a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install 96boards-tools for resizing partition
-# Add systemd unit file for the qcom_q6v5_pil kernel module
-IMAGE_INSTALL_append = " 96boards-tools q6v5-pil"
diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc
deleted file mode 100644
index f74d703fa..000000000
--- a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-# Install 96boards-tools for resizing partition
-IMAGE_INSTALL_append = " 96boards-tools"
diff --git a/meta-agl-bsp/conf/include/agl_ebisu.inc b/meta-agl-bsp/conf/include/agl_ebisu.inc
index 2ac93adf0..d684f814d 100644
--- a/meta-agl-bsp/conf/include/agl_ebisu.inc
+++ b/meta-agl-bsp/conf/include/agl_ebisu.inc
@@ -4,10 +4,10 @@ BOARD_NAME = "ebisu"
DTB_SUFFIX = "r8a77990-ebisu"
-DISTRO_FEATURES_remove = " use_eva_pkg"
+DISTRO_FEATURES:remove = " use_eva_pkg"
# Configuration for USB 3.0
-MACHINE_FEATURES_append = " usb3"
+MACHINE_FEATURES:append = " usb3"
-IMAGE_INSTALL_append = " gstreamer1.0-omx gstreamer1.0-plugin-vspfilter"
-IMAGE_INSTALL_append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspmif"
+IMAGE_INSTALL:append = " gstreamer1.0-omx gstreamer1.0-plugin-vspfilter"
+IMAGE_INSTALL:append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspm-if"
diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
index c12026351..4ff103df8 100644
--- a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
@@ -1,10 +1,9 @@
-require conf/include/agl_rcar-nogfx.inc
+require conf/include/agl_salvator-nogfx.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3-salvator-x"
-DTB_SUFFIX = "r8a7795-salvator-xs"
+DTB_SUFFIX = "r8a77951-salvator-xs"
-# Mask graphic Pkgs
-BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
-# Mask MMP recipes
-BBMASK += "kernel-module-uvcs-drv|omx-user-module"
+# do use software rendering to display the compositor
+# used for images w/o binary-only driver
+WESTON_USE_PIXMAN = "1"
diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
index d338a5663..134b1dd1f 100644
--- a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
+++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
@@ -1,9 +1,6 @@
-require conf/include/agl_rcar.inc
+require conf/include/agl_salvator.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3-salvator-x"
-DTB_SUFFIX = "r8a7795-salvator-xs"
+DTB_SUFFIX = "r8a77951-salvator-xs"
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-module-vspmif \
-"
diff --git a/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc
index 25755d247..5f288fca5 100644
--- a/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_h3ulcb-nogfx.inc
@@ -2,9 +2,24 @@ require conf/include/agl_rcar-nogfx.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3ulcb"
-DTB_SUFFIX = "r8a7795-h3ulcb"
+DTB_SUFFIX = "r8a77951-ulcb"
# Mask graphic Pkgs
BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
# Mask MMP recipes
BBMASK += "kernel-module-uvcs-drv|omx-user-module"
+
+# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
+# when building without the proprietary driver stack. Masking out the
+# weston_%.bbappend seems the simplest approach for now, as forcing
+# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
+# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
+# to that being a component specific to the proprietary stack we are
+# explicitly disabling. If the "libgbm" usage in the bbappend was
+# instead "virtual/libgbm" as is now used in poky, it might be possible
+# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
+BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
+
+# do use software rendering to display the compositor
+# used for images w/o binary-only driver
+WESTON_USE_PIXMAN = "1"
diff --git a/meta-agl-bsp/conf/include/agl_h3ulcb.inc b/meta-agl-bsp/conf/include/agl_h3ulcb.inc
index eb3836abb..b958d767c 100644
--- a/meta-agl-bsp/conf/include/agl_h3ulcb.inc
+++ b/meta-agl-bsp/conf/include/agl_h3ulcb.inc
@@ -2,4 +2,5 @@ require conf/include/agl_rcar.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3ulcb"
-DTB_SUFFIX = "r8a7795-h3ulcb"
+#ws2.0
+DTB_SUFFIX = "r8a77951-ulcb"
diff --git a/meta-agl-bsp/conf/include/agl_hsdk.inc b/meta-agl-bsp/conf/include/agl_hsdk.inc
deleted file mode 100644
index 075cea53e..000000000
--- a/meta-agl-bsp/conf/include/agl_hsdk.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-KERNEL_IMAGETYPE = "uImage"
-WKS_FILE = "sdimage-hsdk.wks"
-IMAGE_BOOT_FILES = "uImage uboot.env"
-IMAGE_INSTALL_append = " kernel-modules"
diff --git a/meta-agl-bsp/conf/include/agl_imx-common.inc b/meta-agl-bsp/conf/include/agl_imx-common.inc
new file mode 100644
index 000000000..b58a99589
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx-common.inc
@@ -0,0 +1,8 @@
+# Disable meta-freescale package architecure mangling, as it causes
+# issues with AGL's explicit setting of DEFAULTTUNE.
+INHERIT:remove = "fsl-dynamic-packagearch"
+MACHINE_SOCARCH = "${TUNE_PKGARCH}"
+
+# Disable the meta-freescale weston-init bbappend as it conflicts
+# with AGL's.
+BBMASK += "meta-freescale/recipes-graphics/wayland/weston-init"
diff --git a/meta-agl-bsp/conf/include/agl_imx6-common.inc b/meta-agl-bsp/conf/include/agl_imx6-common.inc
new file mode 100644
index 000000000..7b22282dd
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx6-common.inc
@@ -0,0 +1,14 @@
+require agl_imx-common.inc
+
+DISTRO_FEATURES:append = " agl-medium-arm-compiler"
+
+# This disables the Freescale/NXP Vivante GPU driver and enables
+# etnaviv support. This is the default for the i.MX6 platforms in
+# meta-freescale, but not for all the ones in meta-freescale-3rdparty,
+# so set it here to give a consistent default.
+IMX_DEFAULT_BSP = "mainline"
+
+# Set CMA size large enough to work with AGL
+UBOOT_EXTLINUX_KERNEL_ARGS:append = " cma=512M"
+
+AGL_DEFAULT_INITRAMFS_FSTYPES := ""
diff --git a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
index 0d8c6f239..f058ba1a5 100644
--- a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
+++ b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
@@ -1,19 +1,5 @@
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
+require agl_imx6-common.inc
-# This disables the Freescale/NXP Vivante GPU driver and enables
-# etnaviv support.
-MACHINEOVERRIDES .= ":use-mainline-bsp"
-
-# Disable meta-freescale package architecure mangling, as it causes
-# issues with AGL's explicit setting of DEFAULTTUNE.
-INHERIT_remove = "fsl-dynamic-packagearch"
-MACHINE_SOCARCH = "${TUNE_PKGARCH}"
-
-# Disable the meta-freescale weston-init bbappend as it conflicts
-# with AGL's.
-BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
-
-# Set CMA size large enough to work with AGL
-UBOOT_EXTLINUX_KERNEL_ARGS_append = " cma=512M"
-
-AGL_DEFAULT_INITRAMFS_FSTYPES := ""
+# Force use of the community supported LTS kernel instead of the
+# default linux-fslc
+IMX_DEFAULT_KERNEL:imx6qdlsabreauto = "linux-fslc-lts"
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc
new file mode 100644
index 000000000..b3faadd0a
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc
@@ -0,0 +1,8 @@
+require agl_imx-common.inc
+
+# Add helper to drive setting up HCI UART device
+# NOTE: Disabled 2023/05 due to kernel oops, further investigation
+# required, see SPEC-4807 in JIRA.
+#MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper"
+
+AGL_DEFAULT_INITRAMFS_FSTYPES := ""
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc
new file mode 100644
index 000000000..3988fcd6f
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc
@@ -0,0 +1,8 @@
+require agl_imx8mq-evk-common.inc
+
+IMX_DEFAULT_BSP = "nxp"
+
+# NOTE:
+# There is some potential benefit to using the community supported
+# linux-fslc-imx hybrid kernel here, but keeping the configuration
+# close to upstream to ease maintenance seems worthwhile.
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc
new file mode 100644
index 000000000..620ee0fdd
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc
@@ -0,0 +1,23 @@
+require agl_imx8mq-evk-common.inc
+
+# NOTE:
+# Currently using the upstream default of IMX_DEFAULT_BSP = "mainline",
+# since we want to use the etnaviv driver and upstream Mesa + weston
+# stack. More tweaks are required to accomplish that if the BSP is set
+# to "nxp".
+
+# Force use of the community supported hybrid NXP/LTS kernel instead of
+# the default linux-fslc. This is required to get the drivers required
+# for HDMI output.
+IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx"
+
+# Tweaks to allow using linux-fslc-imx on its own without the whole
+# NXP BSP. Just the DISTROOVERRIDES change on its own is not enough,
+# as COMPATIBLE_MACHINE is evaluated early enough that the recipe is
+# not seen as compatible without an explicit override.
+COMPATIBLE_MACHINE:pn-linux-fslc-imx = "(imx8mq-evk)"
+DISTROOVERRIDES:pn-linux-fslc-imx:append = "mx8-nxp-bsp"
+
+# Add our own over-ride for use in a few recipes where there is
+# conflicting Vivante vs etnaviv configuration.
+MACHINEOVERRIDES .= ":etnaviv"
diff --git a/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc
deleted file mode 100644
index 50567583c..000000000
--- a/meta-agl-bsp/conf/include/agl_imx8mqevk-viv.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
-
-# Force use of the community supported LTS kernel instead of the
-# default linux-imx
-IMX_DEFAULT_KERNEL_imx8mqevk = "linux-fslc-imx"
-
-# For EVKB wifi support
-MACHINE_FEATURES_append = " bcm4356"
-
-# Disable meta-freescale package architecure mangling, as it causes
-# issues with AGL's explicit setting of DEFAULTTUNE.
-INHERIT_remove = "fsl-dynamic-packagearch"
-MACHINE_SOCARCH = "${TUNE_PKGARCH}"
-
-# Disable the meta-freescale weston-init bbappend as it conflicts
-# with AGL's.
-BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
-
-AGL_DEFAULT_INITRAMFS_FSTYPES := ""
diff --git a/meta-agl-bsp/conf/include/agl_j721e-evm.inc b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
new file mode 100644
index 000000000..963b5697d
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
@@ -0,0 +1,11 @@
+# j721e-evm has a k3r5 BBMULTICONFIG to build its bootloader
+# firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+# Workaround for recipe assumption of poky location
+LIC_FILES_CHKSUM:pn-ti-rtos-firmware = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
index 7f1248065..ebbb3006a 100644
--- a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
@@ -1,10 +1,6 @@
-require conf/include/agl_rcar-nogfx.inc
+require conf/include/agl_salvator-nogfx.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3-salvator-x"
DTB_SUFFIX = "r8a7796-salvator-xs"
-# 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-agl-bsp/conf/include/agl_m3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
index 5dcb5373d..355040ba9 100644
--- a/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
+++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
@@ -1,9 +1,6 @@
-require conf/include/agl_rcar.inc
+require conf/include/agl_salvator.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3-salvator-x"
DTB_SUFFIX = "r8a7796-salvator-xs"
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-module-vspmif \
-"
diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
index 5092c4bcb..31d99c342 100644
--- a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc
@@ -2,13 +2,27 @@ require conf/include/agl_rcar-nogfx.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3ulcb"
-DTB_SUFFIX = "r8a7796-m3ulcb"
+DTB_SUFFIX = "r8a77960-ulcb"
# Mask graphic Pkgs
BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
# Mask MMP recipes
BBMASK += "kernel-module-uvcs-drv|omx-user-module"
-DISTRO_FEATURES_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
-IMAGE_INSTALL_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen-base xen-mkimage', '', d)}"
+# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
+# when building without the proprietary driver stack. Masking out the
+# weston_%.bbappend seems the simplest approach for now, as forcing
+# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
+# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
+# to that being a component specific to the proprietary stack we are
+# explicitly disabling. If the "libgbm" usage in the bbappend was
+# instead "virtual/libgbm" as is now used in poky, it might be possible
+# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
+BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
+# do use software rendering to display the compositor
+# used for images w/o binary-only driver
+WESTON_USE_PIXMAN = "1"
+
+DISTRO_FEATURES:append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
+IMAGE_INSTALL:append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen-base xen-mkimage', '', d)}"
diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb.inc b/meta-agl-bsp/conf/include/agl_m3ulcb.inc
index b845e8c3c..4f788324c 100644
--- a/meta-agl-bsp/conf/include/agl_m3ulcb.inc
+++ b/meta-agl-bsp/conf/include/agl_m3ulcb.inc
@@ -2,7 +2,7 @@ require conf/include/agl_rcar.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3ulcb"
-DTB_SUFFIX = "r8a7796-m3ulcb"
+DTB_SUFFIX = "r8a77960-ulcb"
-DISTRO_FEATURES_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
-IMAGE_INSTALL_append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen-base xen-mkimage', '', d)}" \ No newline at end of file
+DISTRO_FEATURES:append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
+IMAGE_INSTALL:append = "${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen-base xen-mkimage', '', d)}"
diff --git a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc b/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
deleted file mode 100644
index 77eb97342..000000000
--- a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-DISTRO_FEATURES_append = " agl-medium-arm-compiler"
-
-# This disables the Freescale/NXP Vivante GPU driver and enables
-# etnaviv support.
-MACHINEOVERRIDES .= ":use-mainline-bsp"
-
-# Disable meta-freescale package architecure mangling, as it causes
-# issues with AGL's explicit setting of DEFAULTTUNE.
-INHERIT_remove = "fsl-dynamic-packagearch"
-MACHINE_SOCARCH = "${TUNE_PKGARCH}"
-
-# Disable the meta-freescale weston-init bbappend as it conflicts
-# with AGL's.
-BBMASK = "meta-freescale/recipes-graphics/wayland/weston-init"
-
-# Set CMA size large enough to work with AGL
-UBOOT_EXTLINUX_KERNEL_ARGS_append = " cma=512M"
-
-#WKS_FILE = "imx-uboot.wks"
-AGL_DEFAULT_INITRAMFS_FSTYPES := ""
diff --git a/meta-agl-bsp/conf/include/agl_qemuarm.inc b/meta-agl-bsp/conf/include/agl_qemuarm.inc
index 739eb8dd0..2449e1800 100644
--- a/meta-agl-bsp/conf/include/agl_qemuarm.inc
+++ b/meta-agl-bsp/conf/include/agl_qemuarm.inc
@@ -1,14 +1,20 @@
-# Configuration for serial console
-#QB_KERNEL_CMDLINE_APPEND_append = " console=ttyAMA0,115200n8"
-#
-# All boot message will be off
-QB_KERNEL_CMDLINE_APPEND_append = " quiet"
-
# Build updatable image. Only takes effect when sota.bbclass is inherited
-#DISTRO_FEATURES_append = " sota"
+#DISTRO_FEATURES:append = " sota"
# Root device
ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
# Use our own wks file
WKS_FILE="directdisk.wks.in"
+
+# Use pixman as software renderer to avoid high cpu consumption by GL-renderer
+WESTON_USE_PIXMAN = "1"
+
+# Over-ride setting in oe-core's qemuboot.bbclass
+QB_MEM:qemuarm = "-m 2048"
+
+# Changes to make runqemu work out-of-the-box
+QB_AUDIO_DRV:qemuarm := "alsa"
+QB_MACHINE:qemuarm := "-machine virt-2.11 -smp 4"
+QB_OPT_APPEND:qemuarm := "-show-cursor -device VGA,vgamem_mb=64,edid=on -device qemu-xhci -device usb-tablet -device usb-kbd -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+QB_KERNEL_CMDLINE_APPEND:qemuarm := "console=ttyAMA0 verbose vmalloc=256M"
diff --git a/meta-agl-bsp/conf/include/agl_qemuarm64.inc b/meta-agl-bsp/conf/include/agl_qemuarm64.inc
index ca2cc947e..46d3b4c39 100644
--- a/meta-agl-bsp/conf/include/agl_qemuarm64.inc
+++ b/meta-agl-bsp/conf/include/agl_qemuarm64.inc
@@ -1,17 +1,20 @@
-# Configuration for serial console
-#QB_KERNEL_CMDLINE_APPEND_append = " console=ttyAMA0,115200n8"
-
-# All boot message will be off
-QB_KERNEL_CMDLINE_APPEND_append = " quiet"
-
# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES_append = " sota"
+#DISTRO_FEATURES:append = " sota"
# Root device
ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
-# Over-ride setting in oe-core's qemuarm64.conf
-QB_MEM_qemuarm64 = "-m 2048"
-
# Use our own wks file
WKS_FILE="directdisk.wks.in"
+
+# Use pixman as software renderer to avoid high cpu consumption by GL-renderer
+WESTON_USE_PIXMAN = "1"
+
+# Over-ride setting in oe-core's qemuboot.bbclass
+QB_MEM:qemuarm64 = "-m 2048"
+
+# Changes to make runqemu work out-of-the-box
+QB_AUDIO_DRV:qemuarm64 := "alsa"
+QB_MACHINE:qemuarm64 := "-machine virt -smp 4"
+QB_OPT_APPEND:qemuarm64 := " -show-cursor -device VGA,vgamem_mb=64,edid=on -device qemu-xhci -device usb-tablet -device usb-kbd -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-pci,rng=rng0"
+QB_KERNEL_CMDLINE_APPEND:qemuarm64 := "console=ttyAMA0,115200n8 verbose" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_qemuriscv64.inc b/meta-agl-bsp/conf/include/agl_qemuriscv64.inc
new file mode 100644
index 000000000..1ffc3cf0e
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_qemuriscv64.inc
@@ -0,0 +1,11 @@
+# Build updatable image. Only takes effect when sota.bbclass is inherited
+DISTRO_FEATURES:append = " sota"
+
+# Root device
+ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
+
+# Over-ride setting in oe-core's qemuriscv64.conf
+QB_MEM:qemuriscv64 = "-m 2048"
+
+# Use our own wks file
+WKS_FILE="directdisk.wks.in"
diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
index 152dfff4f..cb40b8b37 100644
--- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc
+++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
@@ -12,26 +12,39 @@ UVESA_MODE = "1280x1024-32"
# kernel command line.
#
# Configuration for serial console
-QB_KERNEL_CMDLINE_APPEND_append = " console=ttyS0,115200n8"
+QB_KERNEL_CMDLINE_APPEND:append = " console=ttyS0,115200n8"
#
# All boot message will be off
-QB_KERNEL_CMDLINE_APPEND_append = " quiet"
+QB_KERNEL_CMDLINE_APPEND:append = " quiet"
# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES_append = " sota"
+DISTRO_FEATURES:append = " sota"
+
+# Add firmware required by Up^2 board and default Intel mPCIe wifi card
+# sold by upshop.org
+MACHINE_EXTRA_RRECOMMENDS:append = " \
+ linux-firmware-i915 \
+ linux-firmware-rtl8168 \
+ linux-firmware-ibt-hw-37-8 \
+ linux-firmware-iwlwifi-7265d \
+ wireless-regdb-static \
+"
# Image support
# NOTE: wic.{xz,bmap} are here since qemu targets override
# AGL_DEFAULT_IMAGE_FSTYPES to not include them, but for Intel
# we actually do want them for use on physical hardware.
-AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}"
-IMAGE_BOOT_FILES_sota = "u-boot-qemux86-64.rom"
+AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}"
+IMAGE_BOOT_FILES:sota = "u-boot-qemux86-64.rom"
# Root device
ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
# Force the virtio video device as 'vmware' doesn't always work
-QB_OPT_APPEND_append = " -vga virtio"
+QB_OPT_APPEND:append = " -vga virtio"
+
+# DRM device weston/compositor systemd unit should depend upon
+WESTON_DRM_DEVICE = "dev-dri-card0.device"
# Use our own wks file
WKS_FILE="systemd-intel-corei7-64-bootdisk.wks"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc
deleted file mode 100644
index a4989b79a..000000000
--- a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maximum memory allowed to be assigned
-GPU_MEM = "256"
-
-# Add CMA to the kernel arguments for SOTA
-OSTREE_KERNEL_ARGS_sota_append = " cma=256M"
-
-#MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-# use u-boot always
-RPI_USE_U_BOOT = "1"
-
-#RPI_KERNEL_DEVICETREE_remove_raspberrypi3 = "bcm2708-rpi-0-w.dtb"
-#RPI_KERNEL_DEVICETREE_OVERLAYS_remove_raspberrypi3 = "overlays/lirc-rpi.dtbo"
-#RPI_KERNEL_DEVICETREE_OVERLAYS_append_raspberrypi3 = " overlays/vc4-fkms-v3d.dtbo"
-
-MACHINE_FEATURES += "vc4graphics"
-
-# For libomxil
-#LICENSE_FLAGS_WHITELIST = "commercial"
-
-IMAGE_INSTALL_append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
-
-# Psplash causes crash on first boot on RPi
-IMAGE_FEATURES_remove = "splash"
-
-# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES_append = " sota"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
index ae302aae1..4ba7ff0f6 100644
--- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
@@ -2,27 +2,36 @@
GPU_MEM = "256"
# Add CMA to the kernel arguments for SOTA
-OSTREE_KERNEL_ARGS_sota_append = " cma=256M"
+OSTREE_KERNEL_ARGS:sota:append = " cma=256M"
# use u-boot always
RPI_USE_U_BOOT = "1"
+# Use UART for serial console
+ENABLE_UART ?= "1"
+
# For libomxil
-#LICENSE_FLAGS_WHITELIST = "commercial"
+#LICENSE_FLAGS_ACCEPTED += "commercial"
+
+# For linux-firmware-rpidistro
+LICENSE_FLAGS_ACCEPTED += "synaptics-killswitch"
-IMAGE_INSTALL_append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
+IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
# Psplash causes crash on first boot on RPi
-IMAGE_FEATURES_remove = "splash"
+IMAGE_FEATURES:remove = "splash"
# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES_append = " sota"
+DISTRO_FEATURES:append = " sota"
# Add xen build, if the xen feature activated
-DISTRO_FEATURES_append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
+DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
# add xen-tools to build
-IMAGE_INSTALL_append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
+IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
# Add xen-raspberry binary to boot files
-IMAGE_BOOT_FILES_append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
+IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
+
+#DISPLAY CONFIGURATION
+WESTON_DISPLAYS:raspberrypi4 = " hdmi-a-1-90 hdmi-a-2-90"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi5.inc b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc
new file mode 100644
index 000000000..a0e675956
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc
@@ -0,0 +1,34 @@
+# Maximum memory allowed to be assigned
+GPU_MEM = "256"
+
+# Add CMA to the kernel arguments for SOTA
+OSTREE_KERNEL_ARGS:sota:append = " cma=256M"
+
+# use u-boot always (RPi5 U-boot is not ready yet)
+RPI_USE_U_BOOT = "0"
+
+# Use UART for serial console
+ENABLE_UART ?= "1"
+
+# For libomxil
+#LICENSE_FLAGS_ACCEPTED = "commercial"
+
+IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
+
+# Psplash causes crash on first boot on RPi
+IMAGE_FEATURES:remove = "splash"
+
+# Build updatable image. Only takes effect when sota.bbclass is inherited
+DISTRO_FEATURES:append = " sota"
+
+# Add xen build, if the xen feature activated
+DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
+
+# add xen-tools to build
+IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
+
+# Add xen-raspberry binary to boot files
+IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
+
+#DISPLAY CONFIGURATION
+WESTON_DISPLAYS:raspberrypi5 = " hdmi-a-1-90 hdmi-a-2-90"
diff --git a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
index a7fabfac8..fb67fd976 100644
--- a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
@@ -1,9 +1,60 @@
-DISTRO_FEATURES_append = " sota"
+DISTRO_FEATURES:append = " sota"
OSTREE_KERNEL = "Image"
-IMAGE_BOOT_FILES_sota = "renesas-ota-bootfiles/* ${DTB_SUFFIX}.dtb"
+IMAGE_BOOT_FILES:sota = "renesas-ota-bootfiles/* ${DTB_SUFFIX}.dtb"
OSTREE_BOOTLOADER ?= "u-boot"
-WKS_FILE = "singlepart-noloader.wks"
+WKS_FILE:rcar-gen3 = "singlepart-noloader.wks"
RENESAS_DATADIR = "/usr"
+
+IMAGE_INSTALL:append:rcar-gen3 = " \
+ kernel-devicetree \
+"
+
+#
+# Workaround to avoid pseudo aborts triggered by the kernel module
+# recipes writing to KERNELSRC in do_install, errors are of the form
+# (from pseudo.log):
+#
+# path mismatch [27 links]: ino 19366408 db 'NAMELESS FILE' req 'build/tmp/work-shared/h3ulcb/kernel-source/include'.
+#
+# See the commit messages in poky commits 4e7c211 and 3b7f2c6 and the
+# wiki page at:
+#
+# https://wiki.yoctoproject.org/wiki/Pseudo_Abort
+#
+# for details on the pseudo change. These can potentially be moved
+# to the recipes in the BSP, or removed if the recipes are changed to
+# shift the module headers and symbols to their dev packages.
+#
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-mch = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-mse = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-avb-streaming = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-scu-src = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-ssp = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-tddmac = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-tsif = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-mmngr = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-mmngrbuf = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-qos = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vsp2driver = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspmif = ",${KERNELSRC}"
+PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspm = ",${KERNELSRC}"
+
+# Mask out base-files and systemd bbappends to avoid changing systemd-tmpfiles
+# behavior, see SPEC-4256 for a more involved explanation.
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-core/base-files/ meta-renesas/meta-rcar-gen3/recipes-core/systemd/"
+
+# Mask out cogl bbappend to avoid meta-gnome dependency
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend"
+
+# Provide default value that avoids errors from a new packaging QA
+# check with respect to packagegroups depending on versioned library
+# packages needing to be machine-specific.
+#
+# Note that this needs to be done here in global configuration space as
+# opposed to in a bbappend because the value needs to be set before the
+# packagegroup bbclass is inherited. This can be removed when upstream
+# is fixed to add the required PACKAGE_ARCH = "${MACHINE_ARCH}".
+PACKAGE_ARCH:pn-packagegroup-multimedia-libs = "${MACHINE_ARCH}"
diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc
index dd64ae772..01314f8c9 100644
--- a/meta-agl-bsp/conf/include/agl_rcar.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar.inc
@@ -1,33 +1,36 @@
require conf/include/agl_rcar-nogfx.inc
# Enable AGL virtualization features
-MACHINE_FEATURES_append = " agl-egvirt"
+MACHINE_FEATURES:append:rcar-gen3 = " agl-egvirt"
# Enable Gfx Pkgs
-MACHINE_FEATURES_append = " gsx"
-MULTI_PROVIDER_WHITELIST += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+MACHINE_FEATURES:append:rcar-gen3 = " gsx"
+BB_MULTI_PROVIDER_ALLOWED:append:rcar-gen3 = " virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
# for Wayland/Weston
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "virtual-gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "virtual-gles-user-module"
-PREFERRED_PROVIDER_virtual/libgl = ""
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
+PREFERRED_PROVIDER_virtual/libgles1:rcar-gen3 = ""
+PREFERRED_PROVIDER_virtual/libgles2:rcar-gen3 = "virtual-gles-user-module"
+PREFERRED_PROVIDER_virtual/egl:rcar-gen3 = "virtual-gles-user-module"
+PREFERRED_PROVIDER_virtual/libgl:rcar-gen3 = ""
+PREFERRED_PROVIDER_virtual/mesa:rcar-gen3 = "mesa"
-PREFERRED_RPROVIDER_libomxil = "omx-user-module"
-PREFERRED_PROVIDER_virtual/libomxil = "omx-user-module"
+PREFERRED_PROVIDER_libgbm:rcar-gen3 = "libgbm"
+PREFERRED_PROVIDER_virtual/libgbm:rcar-gen3 = "libgbm"
+PREFERRED_RPROVIDER_libgbm-dev:rcar-gen3 = "libgbm"
+
+PREFERRED_RPROVIDER_libomxil:rcar-gen3 = "omx-user-module"
+PREFERRED_PROVIDER_virtual/libomxil:rcar-gen3 = "omx-user-module"
+VIRTUAL-RUNTIME_libomxil:rcar-gen3 = "omx-user-module"
# Add for gstreamer plugins ugly
-LICENSE_FLAGS_WHITELIST = "commercial"
+LICENSE_FLAGS_ACCEPTED:rcar-gen3 = "commercial"
-MACHINE_FEATURES_append = " multimedia"
+MACHINE_FEATURES:append:rcar-gen3 = " multimedia"
-DISTRO_FEATURES_append = " use_eva_pkg"
+DISTRO_FEATURES:append:rcar-gen3 = " use_eva_pkg"
-#DISTRO_FEATURES_append = " h265dec_lib mpeg2dec_lib"
-DISTRO_FEATURES_append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
+#DISTRO_FEATURES:append:rcar-gen3 = " h265dec_lib mpeg2dec_lib"
+DISTRO_FEATURES:append:rcar-gen3 = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
# Mask out meta-renesas-rcar-gen3's tweaks to weston-init, as they do
# not seem necessary for anything in AGL, and the addition of
@@ -38,13 +41,21 @@ DISTRO_FEATURES_append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
# getting weston started. There is no clear rationale expressed in the
# meta-renesas-rcar-gen3 commit history for the extra dependencies, and
# testing shows no issues on H3ULCB when not having them.
-BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend"
-IMAGE_INSTALL_append_rcar-gen3 = " \
- kernel-devicetree \
+# Add graphics and decoder drivers to packagegroup-machine-base
+# recommendation.
+MACHINE_EXTRA_RRECOMMENDS:append:rcar-gen3 = " \
kernel-module-pvrsrvkm \
kernel-module-vsp2 \
kernel-module-vspm \
kernel-module-vspm-if \
omx-user-module \
"
+
+# Mask out BSP layer gstreamer* 1.22.x bbappends for now, as the BSP
+# effectively is building 1.20.x plugins and packaging them as 1.22,
+# which breaks building various things. The whole directory is not
+# commented out because we still want the vspfilter plugin.
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-"
diff --git a/meta-agl-bsp/conf/include/agl_refhw-h3.inc b/meta-agl-bsp/conf/include/agl_refhw-h3.inc
new file mode 100644
index 000000000..6eee8149f
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_refhw-h3.inc
@@ -0,0 +1,16 @@
+AGL_FEATURES:append:h3ulcb = " agl-refhw-h3"
+
+# Reference hardware has USB3
+MACHINE_FEATURES:append:h3ulcb = " usb3"
+
+KERNEL_DEVICETREE:append:h3ulcb = " renesas/r8a77951-agl-refhw.dtb"
+
+UBOOT_CONFIG:append:h3ulcb = " agl-refhw"
+UBOOT_CONFIG[agl-refhw] = "rcar3_salvator-x_defconfig"
+
+MACHINE_EXTRA_RRECOMMENDS:append:h3ulcb = " \
+ linux-firmware-wl18xx \
+ ti-bt-firmware \
+ wlconf \
+ wireless-regdb-static \
+"
diff --git a/meta-agl-bsp/conf/include/agl_s4sk.inc b/meta-agl-bsp/conf/include/agl_s4sk.inc
new file mode 100644
index 000000000..8f4a91b44
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_s4sk.inc
@@ -0,0 +1,9 @@
+SOC_FAMILY = "r8a779f0"
+BOARD_NAME = "s4sk"
+
+#ws2.0
+DTB_SUFFIX = "r8a779f0-s4sk"
+WKS_FILE = "singlepart-noloader.wks"
+IMAGE_INSTALL:append = " \
+ kernel-devicetree \
+"
diff --git a/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc
new file mode 100644
index 000000000..06e635ca0
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc
@@ -0,0 +1,17 @@
+require conf/include/agl_rcar-nogfx.inc
+
+# Mask graphic Pkgs
+BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK += "kernel-module-uvcs-drv|omx-user-module"
+# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
+# when building without the proprietary driver stack. Masking out the
+# weston_%.bbappend seems the simplest approach for now, as forcing
+# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
+# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
+# to that being a component specific to the proprietary stack we are
+# explicitly disabling. If the "libgbm" usage in the bbappend was
+# instead "virtual/libgbm" as is now used in poky, it might be possible
+# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
+BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
+
diff --git a/meta-agl-bsp/conf/include/agl_salvator.inc b/meta-agl-bsp/conf/include/agl_salvator.inc
new file mode 100644
index 000000000..78457868a
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_salvator.inc
@@ -0,0 +1,6 @@
+require conf/include/agl_rcar.inc
+
+IMAGE_INSTALL:append:rcar-gen3 = " \
+ kernel-module-vspm-if \
+"
+
diff --git a/meta-agl-bsp/conf/include/agl_unmatched.inc b/meta-agl-bsp/conf/include/agl_unmatched.inc
new file mode 100644
index 000000000..f7c9f75f2
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_unmatched.inc
@@ -0,0 +1,4 @@
+# firmware for graphics
+MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-radeon linux-firmware-amdgpu "
+
+#
diff --git a/meta-agl-bsp/conf/include/agl_virtio-aarch64.inc b/meta-agl-bsp/conf/include/agl_virtio-aarch64.inc
new file mode 100644
index 000000000..5093d0bd5
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_virtio-aarch64.inc
@@ -0,0 +1,14 @@
+# Build updatable image. Only takes effect when sota.bbclass is inherited
+DISTRO_FEATURES:append = " sota"
+
+# Root device
+ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
+
+# Use our own wks file
+WKS_FILE = "directdisk.wks.in"
+
+# Simplest possible option
+AGL_DEFAULT_IMAGE_FSTYPES = "ext4"
+
+# Need to run QEMU with virtio-gpu device
+PACKAGECONFIG:append:pn-qemu-system-native = " virglrenderer glx gtk+"
diff --git a/meta-agl-bsp/conf/layer.conf b/meta-agl-bsp/conf/layer.conf
index 2a999ddd5..036cde7a7 100644
--- a/meta-agl-bsp/conf/layer.conf
+++ b/meta-agl-bsp/conf/layer.conf
@@ -23,4 +23,4 @@ BBFILE_COLLECTIONS += "aglbsp"
BBFILE_PATTERN_aglbsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_aglbsp = "60"
-LAYERSERIES_COMPAT_aglbsp = "dunfell"
+LAYERSERIES_COMPAT_aglbsp = "scarthgap"
diff --git a/meta-agl-bsp/conf/machine/include/virtio.inc b/meta-agl-bsp/conf/machine/include/virtio.inc
new file mode 100644
index 000000000..6f8a638a0
--- /dev/null
+++ b/meta-agl-bsp/conf/machine/include/virtio.inc
@@ -0,0 +1,23 @@
+PREFERRED_PROVIDER_virtual/egl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
+
+MACHINE_FEATURES = "alsa usbgadget screen vfat"
+
+MACHINEOVERRIDES =. "virtio-all:"
+
+IMAGE_FSTYPES += "tar.bz2 ext4"
+
+# Don't include kernels in standard images
+RDEPENDS:${KERNEL_PACKAGE_NAME}-base = ""
+
+# Use a common kernel recipe for all VirtIO machines
+PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
+
+# Use newer kernel
+PREFERRED_VERSION_linux-yocto = "5.15.%"
+
+EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
+
+IMAGE_CLASSES += "qemuboot"
diff --git a/meta-agl-bsp/conf/machine/qemuarm.conf b/meta-agl-bsp/conf/machine/qemuarm.conf
deleted file mode 100644
index 8d41d6927..000000000
--- a/meta-agl-bsp/conf/machine/qemuarm.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-#@TYPE: Machine
-#@NAME: armv7a
-#@DESCRIPTION: generic ARM 32bit
-
-require conf/machine/include/qemu.inc
-require conf/machine/include/arm/arch-armv7ve.inc
-
-KERNEL_IMAGETYPE = "zImage"
-
-SERIAL_CONSOLES ?= "38400;ttyAMA0 38400;hvc0"
-
-# For runqemu
-QB_SYSTEM_NAME = "qemu-system-arm"
-QB_MACHINE = "-machine virt"
-
-# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
-QB_OPT_APPEND = "-show-cursor -usb -device virtio-rng-pci"
-PREFERRED_VERSION_linux-yocto ??= "4.18%"
diff --git a/meta-agl-bsp/conf/machine/virtio-aarch64.conf b/meta-agl-bsp/conf/machine/virtio-aarch64.conf
new file mode 100644
index 000000000..d92d43943
--- /dev/null
+++ b/meta-agl-bsp/conf/machine/virtio-aarch64.conf
@@ -0,0 +1,36 @@
+#@TYPE: Machine
+#@NAME: VirtIO ARMv8 machine
+#@DESCRIPTION: Machine configuration for running an ARMv8 system on VirtIO based platform
+
+require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/virtio.inc
+
+KERNEL_IMAGETYPE = "Image"
+
+SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
+SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}"
+
+# For runqemu
+QB_SYSTEM_NAME = "qemu-system-aarch64"
+QB_MACHINE = "-machine virt"
+QB_CPU = "-cpu cortex-a57"
+QB_CPU_KVM = "-cpu host -machine gic-version=3"
+QB_MEM = "-m 2048"
+# Standard Serial console
+QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
+# Ensure virtio-mmio support VirtIO 1.0 required by virtio-gpu
+QB_OPT_APPEND = "-global virtio-mmio.force-legacy=false"
+# TODO: upstream to OE-core runqemu
+QB_OPT_APPEND += "-device virtio-gpu-device -display gtk,gl=on -show-cursor"
+# Virtio input
+QB_OPT_APPEND += "-device virtio-mouse-device -device virtio-keyboard-device"
+# Add the 'virtio-rng-device' device otherwise the guest may run out of entropy
+QB_OPT_APPEND += "-object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
+# Virtio Networking support
+QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
+QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
+# Virtio block device
+QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
+# Virtio serial console
+QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = "-device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/gpsd.refhw b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/gpsd.refhw
new file mode 100644
index 000000000..d22970681
--- /dev/null
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/gpsd.refhw
@@ -0,0 +1,5 @@
+# Default settings for gpsd.
+START_DAEMON="true"
+GPSD_OPTIONS=""
+DEVICES="/dev/ttySC3"
+GPSD_SOCKET="/var/run/gpsd.sock"
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh
new file mode 100644
index 000000000..d183ba43c
--- /dev/null
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# Script to detect AGL Reference Hardware and switch gpsd
+# configuration as necessary.
+#
+# NOTE:
+# For the most part errors are ignored and the script returns
+# 0/success so gpsd still be started if the script is somehow
+# run on a board without the expected hardware.
+
+COMPAT=/sys/firmware/devicetree/base/compatible
+GPSTTY=/dev/ttySC3
+
+#if [ ! \( -f "$COMPAT" -a -c "$GPSTTY" -a -f /etc/default/gpsd.refhw \) ]; then
+if [ ! \( -f "$COMPAT" -a -f /etc/default/gpsd.refhw \) ]; then
+ exit 0
+fi
+
+found=false
+for c in `cat $COMPAT | tr '\0' ' '`; do
+ if echo $c | grep -q '^agl,refhw-h3$'; then
+ found=true
+ break
+ fi
+done
+
+if $found; then
+ if [ ! -c "$GPSTTY" ]; then
+ exit 0
+ fi
+ update-alternatives --install /etc/default/gpsd gpsd-defaults /etc/default/gpsd.refhw 20
+else
+ update-alternatives --install /etc/default/gpsd gpsd-defaults /etc/default/gpsd.refhw 5
+fi
+exit 0
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh.bak b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh.bak
new file mode 100644
index 000000000..2c9089aa0
--- /dev/null
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw-gpsd-helper.sh.bak
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Script to detect AGL Reference Hardware and switch gpdf configuration
+# as needed.
+#
+# NOTE:
+# For the most part errors are ignored and the script returns
+# 0/success so gpsd still be started if the script is somehow
+# run on a board without the expected hardware.
+
+COMPAT=/sys/firmware/devicetree/base/compatible
+GPSTTY=/dev/ttySC3
+
+if [ ! \( -f "$COMPAT" -a -c "$GPSTTY" -a -f /etc/default/gpsd.refhw \) ]; then
+ exit 0
+fi
+
+found=false
+for c in `cat $COMPAT | tr '\0' ' '`; do
+ echo "c = $c"
+ if echo $c | grep -q '^agl,refhw-h3$'; then
+ found=true
+ break
+ fi
+done
+
+if $found; then
+ update-alternatives --install /etc/default/gpsd gpsd-defaults /etc/default/gpsd.refhw 20
+else
+ update-alternatives --remove gpsd-defaults /etc/default/gpsd.refhw
+fi
+exit 0
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw.conf b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw.conf
new file mode 100644
index 000000000..b7e3a7b0d
--- /dev/null
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/files/refhw.conf
@@ -0,0 +1,2 @@
+[Service]
+ExecStartPre=-/usr/sbin/refhw-gpsd-helper.sh
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
new file mode 100644
index 000000000..3cd5aa7de
--- /dev/null
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
@@ -0,0 +1,33 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI = "file://gpsd.refhw \
+ file://refhw-gpsd-helper.sh \
+ file://refhw.conf \
+"
+
+inherit update-alternatives
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -D -m 0644 ${WORKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw
+
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -D -m 0755 ${WORKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh
+ install -d ${D}${sysconfdir}/systemd/system/gpsd.service.d
+ install -D -m 0644 ${WORKDIR}/refhw.conf ${D}${sysconfdir}/systemd/system/gpsd.service.d/refhw.conf
+ fi
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES:${PN} = "${sysconfdir}/default/gpsd.refhw"
+
+ALTERNATIVE:${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw"
+# NOTE: Priority needs to be below default of 10 to avoid overriding the
+# default configuration. The script run by the systemd drop-in
+# will tweak things on boot to handle h3ulcb vs refhw.
+ALTERNATIVE_PRIORITY[gpsd-defaults] = "5"
diff --git a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/mesa/mesa_%.bbappend
deleted file mode 100644
index 8ac343aa3..000000000
--- a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/mesa/mesa_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# The gallium-llvm is recommended as software 3D graphics renderer
-GALLIUM_LLVM = "gallium-llvm"
-PACKAGECONFIG_append_qemux86 = " gallium ${GALLIUM_LLVM}"
-PACKAGECONFIG_append_qemux86-64 = " gallium ${GALLIUM_LLVM}"
-PACKAGECONFIG_append_intel-corei7-64 = " gallium ${GALLIUM_LLVM}"
-
-DRIDRIVERS_append_intel-corei7-64 = ",i965"
diff --git a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/libva_%.bbappend b/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/libva_%.bbappend
deleted file mode 100644
index eda8de38a..000000000
--- a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/libva_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-# This patch correct a bug in libva1_1.7.0.bb 1.8 inmeta-intel (no clue when it will be fixed)
-# libva.bb calls for an x11 runtime dependency even if wayland is selected
-#
-RDEPENDS_${PN}-egl_remove = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "${PN}-x11", d)}"
diff --git a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index 4a2dc80af..000000000
--- a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# For virtual machines and intel-corei7-64 we want to support both the HDMI-A-1
-# and Virtual-1 outputs. This allows us to run virtual images on real hardware
-# and vice versa.
-SRC_URI_append_qemuall = " file://virtual.cfg"
-SRC_URI_append_intel-corei7-64 = " file://virtual.cfg"
diff --git a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg b/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg
deleted file mode 100644
index 25a8fae94..000000000
--- a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-[output]
-name=Virtual-1
-transform=270
-mode=1920x1080
-#mode=1600x1200
-#mode=1680x1050
-#mode=1400x1050
-#mode=1600x900
-#mode=1280x1024
-#mode=1440x900
-#mode=1280x960
-#mode=1360x768
-#mode=1280x800
-#mode=1280x768
-#mode=1280x720
-#mode=800x600
-#mode=848x480
-#mode=640x480
diff --git a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644
index 9aaea5f69..000000000
--- a/meta-agl-bsp/meta-aglprofilegraphical/recipes-graphics/wayland/weston_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-RDEPENDS_${PN}_append_qemux86 = " mesa-megadriver"
-RDEPENDS_${PN}_append_qemux86-64 = " mesa-megadriver"
-RDEPENDS_${PN}_append_intel-corei7-64 = " mesa-megadriver"
diff --git a/meta-agl-bsp/meta-core/recipes-core/ovmf/ovmf_git.bbappend b/meta-agl-bsp/meta-core/recipes-core/ovmf/ovmf_git.bbappend
deleted file mode 100644
index 285847295..000000000
--- a/meta-agl-bsp/meta-core/recipes-core/ovmf/ovmf_git.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PARALLEL_MAKE = ""
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 000000000..fb797a436
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_agl.inc', '', d)}
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
new file mode 100644
index 000000000..e74761317
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
@@ -0,0 +1,7 @@
+# The gallium-llvm is recommended as software 3D graphics renderer
+GALLIUM_LLVM = "gallium-llvm"
+PACKAGECONFIG:append:qemux86 = " gallium ${GALLIUM_LLVM}"
+PACKAGECONFIG:append:qemux86-64 = " gallium ${GALLIUM_LLVM}"
+PACKAGECONFIG:append:intel-corei7-64 = " gallium ${GALLIUM_LLVM}"
+
+DRIDRIVERS:append:intel-corei7-64 = ",i965"
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_%.bbappend
new file mode 100644
index 000000000..3d5903d85
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_agl.inc', '', d)}
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_agl.inc b/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_agl.inc
new file mode 100644
index 000000000..e3b36034f
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-graphics/wayland/weston_agl.inc
@@ -0,0 +1,3 @@
+RDEPENDS:${PN}:append:qemux86 = " mesa-megadriver"
+RDEPENDS:${PN}:append:qemux86-64 = " mesa-megadriver"
+RDEPENDS:${PN}:append:intel-corei7-64 = " mesa-megadriver"
diff --git a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/hciattach.cfg b/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/hciattach.cfg
deleted file mode 100755
index c9c4fe2ed..000000000
--- a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/hciattach.cfg
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_INTEL=m
-CONFIG_BT_BCM=m
-CONFIG_BT_RTL=m
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB_RTL=y
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL_CP210X=y
diff --git a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/most_deps.cfg b/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/most_deps.cfg
deleted file mode 100644
index 15ddbd21e..000000000
--- a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/most_deps.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_I2C=y
-CONFIG_USB=y
-CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_DEV=m
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-CONFIG_VIDEO_V4L2=m
diff --git a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/qemuarm.cfg b/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/qemuarm.cfg
deleted file mode 100644
index e71c714d6..000000000
--- a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/qemuarm.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-# Necessary configs for using the virt qemu machine
-CONFIG_ARCH_MULTI_V7=y
-CONFIG_ARCH_VIRT=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_PCI_HOST_GENERIC=y
-CONFIG_RTC_DRV_PL031=y
diff --git a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/virtio.cfg b/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/virtio.cfg
deleted file mode 100644
index d042d7d64..000000000
--- a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto/virtio.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-# qemu need a virtio storage for rootfs
-CONFIG_BLK_MQ_VIRTIO=y
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_BLK=y
-# qemuarm need virtionet
-CONFIG_VIRTIO_NET=y
diff --git a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index e97b8f9d1..000000000
--- a/meta-agl-bsp/meta-core/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1,17 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:"
-
-# Extra configuration options for the QEMU kernel
-SRC_URI += "file://hciattach.cfg \
- file://virtio.cfg \
- "
-
-# Enable some things on qemuarm64 so MOST drivers will build and load.
-SRC_URI_append_qemuarm64 = " file://most_deps.cfg"
-
-# Configuration for using the virt machine (and not versatilepb)
-SRC_URI_append_qemuarm = " file://qemuarm.cfg"
-
-# Build a generic v7 kernel instead of the arm926j one that upstream
-# qemuarm defaults to.
-KBUILD_DEFCONFIG_qemuarm = "multi_v7_defconfig"
-KCONFIG_MODE = "--alldefconfig"
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.service b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.service
new file mode 100644
index 000000000..f8eda0cba
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Bluetooth HCI UART support
+Requires=dev-ttymxc2.device
+After=dev-ttymxc2.device
+Before=bluetooth.service
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/hci-uart-helper.sh
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.sh b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.sh
new file mode 100644
index 000000000..e1aa31c06
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/files/hci-uart-helper.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# Script to attach HCI UART devices on i.MX8MQ EVK/EVKB
+#
+# NOTE:
+# For the most part errors are ignored and the script returns
+# 0/success so BlueZ will still be started if the script is somehow
+# run on a board without the expected hardware. However, if the
+# various probing succeeds and hciattach is run, the script returns
+# the resulting exit code if hciattach fails.
+
+COMPAT=/sys/firmware/devicetree/base/compatible
+HCITTY=/dev/ttymxc2
+PCIDEV=/sys/bus/pci/devices/0000:01:00.0
+
+if [ ! \( -f "$COMPAT" -a -c "$HCITTY" \) ]; then
+ exit 0
+fi
+
+found=false
+for c in `cat $COMPAT | tr '\0' ' '`; do
+ echo "c = $c"
+ if echo $c | grep -q '^fsl,imx8mq-evk$'; then
+ found=true
+ break
+ fi
+done
+if ! $found; then
+ echo "i.MX8MQ EVK not found!"
+ exit 0
+fi
+
+if [ -f "$PCIDEV/vendor" -a -f "$PCIDEV/device" ]; then
+ vendor=`cat $PCIDEV/vendor`
+ device=`cat $PCIDEV/device`
+fi
+
+rc=0
+if [ "$vendor" = "0x14e4" -a "$device" = "0x43ec" ]; then
+ # Broadcom 5436 on EVKB
+ hciattach $HCITTY bcm43xx
+ rc=$?
+elif [ "$vendor" = "0x168c" -a "$device" = "0x003e" ]; then
+ # Qualcomm (nee Atheros) 6174 on EVK
+ hciattach $HCITTY qualcomm
+ rc=$?
+fi
+exit $rc
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb
new file mode 100644
index 000000000..798fcebe6
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-connectivity/hci-uart-helper/hci-uart-helper_1.0.bb
@@ -0,0 +1,30 @@
+SUMMARY = "Helper for enabling UART connected HCI Bluetooth devices"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+inherit systemd allarch
+
+SRC_URI = "file://hci-uart-helper.service \
+ file://hci-uart-helper.sh \
+"
+
+COMPATIBLE_MACHINE = "imx8mq-evk"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ # Install helper script
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/hci-uart-helper.sh ${D}${sbindir}/
+
+ # Install systemd unit
+ install -d ${D}${systemd_system_unitdir}/
+ install -m 0644 ${WORKDIR}/hci-uart-helper.service ${D}${systemd_system_unitdir}/
+ install -d ${D}${systemd_system_unitdir}/bluetooth.service.wants
+ ln -s ../hci-uart-helper.service ${D}${systemd_system_unitdir}/bluetooth.service.wants/
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
+
+RDEPENDS:${PN} += "bluez5"
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg
deleted file mode 100644
index b1a1f3cc9..000000000
--- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston-ini-conf/fbdev.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[output]
-name=fbdev
-transform=270
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend
new file mode 100644
index 000000000..07a43f958
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend
@@ -0,0 +1,10 @@
+# Work around PACKAGECONFIG:remove of "x11 wayland" added to the recipe
+# in meta-freescale commit 5a5c5dd. This can be removed once the issue
+# has been resolved by a revert of that breakage upstream.
+# What is done below is effectively a disabling of the "wayland"
+# PACKAGECONFIG option and then open coding what its effects would
+# normally be, since the :remove prevents specifying it in the usual way.
+PACKAGECONFIG[wayland] = ""
+DEPENDS:append = " virtual/egl virtual/libgles2"
+PACKAGECONFIG_CONFARGS:append = " -Dbackend-wayland=true"
+
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch
deleted file mode 100644
index 1b17bc73f..000000000
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c8bbb0f916de54610513e376070aea531af19dd6 Mon Sep 17 00:00:00 2001
-From: jooseong lee <jooseong.lee@samsung.com>
-Date: Thu, 3 Nov 2016 10:55:43 +0100
-Subject: [PATCH 4/4] Smack: Assign smack_known_web label for kernel thread's
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Assign smack_known_web label for kernel thread's socket in the sk_alloc_security hook
-
-Creating struct sock by sk_alloc function in various kernel subsystems
-like bluetooth dosen't call smack_socket_post_create(). In such case,
-received sock label is the floor('_') label and makes access deny.
-
-Refers-to: https://review.tizen.org/gerrit/#/c/80717/4
-
-Change-Id: I2e5c9359bfede84a988fd4d4d74cdb9dfdfc52d8
-Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
-Signed-off-by: José Bollo <jose.bollo@iot.bzh>
----
- security/smack/smack_lsm.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
-index e45f0a3..a3f3ccc 100644
---- a/security/smack/smack_lsm.c
-+++ b/security/smack/smack_lsm.c
-@@ -2107,8 +2107,16 @@ static int smack_sk_alloc_security(struct sock *sk, int family, gfp_t gfp_flags)
- if (ssp == NULL)
- return -ENOMEM;
-
-- ssp->smk_in = skp;
-- ssp->smk_out = skp;
-+ /*
-+ * Sockets created by kernel threads receive web label.
-+ */
-+ if (unlikely(current->flags & PF_KTHREAD)) {
-+ ssp->smk_in = &smack_known_web;
-+ ssp->smk_out = &smack_known_web;
-+ } else {
-+ ssp->smk_in = skp;
-+ ssp->smk_out = skp;
-+ }
- ssp->smk_packet = NULL;
-
- sk->sk_security = ssp;
---
-2.7.4
-
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/fixups.cfg b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/fixups.cfg
index d6b3a30fd..29a25b798 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/fixups.cfg
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/files/fixups.cfg
@@ -6,3 +6,4 @@
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_BTRFS_FS is not set
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
new file mode 100644
index 000000000..f95891a2f
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
@@ -0,0 +1,22 @@
+Tweak MHDP driver Kconfig so it can be enabled with etnaviv
+
+The MHDP driver is needed for using HDMI on the i.MX8MQ EVK, tweak its
+Kconfig entry so that it can be enabled when using etnaviv, not just
+Vivante.
+
+Upstream-Status: pending
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+
+diff --git a/drivers/gpu/drm/imx/mhdp/Kconfig b/drivers/gpu/drm/imx/mhdp/Kconfig
+index 225ccc3638a8..164b42f04e94 100644
+--- a/drivers/gpu/drm/imx/mhdp/Kconfig
++++ b/drivers/gpu/drm/imx/mhdp/Kconfig
+@@ -7,6 +7,6 @@ config DRM_IMX_CDNS_MHDP
+ select DRM_CDNS_HDMI
+ select DRM_CDNS_AUDIO
+ select DRM_CDNS_HDMI_HDCP
+- depends on DRM_IMX
++ depends on DRM_IMX || DRM_ETNAVIV
+ help
+ Choose this if you want to use HDMI on i.MX8.
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch
new file mode 100644
index 000000000..4ed4b685e
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch
@@ -0,0 +1,22 @@
+Enable etnaviv support in i.MX8MQ EVK devicetree
+
+Some further investigation is required into how to manage this upstream
+in meta-freescale, as it is not required for the i.MX6 platforms AFAIK.
+
+Upstream-Status: pending
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+
+diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+index c3f8a24c3943..754fbfe30f0a 100755
+--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
++++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+@@ -1224,7 +1224,7 @@ &vpu_v4l2 {
+ status = "okay";
+ };
+
+-&gpu3d {
++&gpu {
+ status = "okay";
+ };
+
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/etnaviv.cfg b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/etnaviv.cfg
new file mode 100644
index 000000000..35602c6d8
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/etnaviv.cfg
@@ -0,0 +1,4 @@
+CONFIG_DRM_IMX=n
+CONFIG_DRM_IMX_CDNS_MHDP=y
+CONFIG_DRM_ROCKCHIP=n
+CONFIG_DRM_ETNAVIV=y
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
index 33e72bf7d..0772a98a8 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
@@ -1,24 +1,17 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-require recipes-kernel/linux/linux-agl.inc
+require linux-fslc.inc
-# Make sure these are enabled so that AGL configurations work
-SRC_URI_append = " file://tmpfs.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/tmpfs.cfg"
-SRC_URI_append = " file://namespace.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/namespace.cfg"
-SRC_URI_append = " file://cgroup.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cgroup.cfg"
-
-# Support for CFG80211 subsystem
-SRC_URI_append = " file://cfg80211.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cfg80211.cfg"
+# These patches and the configuration fragment below will need to be
+# revisited if/when using IMX_DEFAULT_BSP = "mainline" with i.MX8
+# becomes more feasible with upstream meta-freescale.
+SRC_URI:append:etnaviv = " \
+ file://0001-enable-mhdp-with-etnaviv.patch \
+ file://0002-dts-enable-etnaviv.patch \
+"
# Support for i.MX8MQ EVKB (e.g. Broadcom wifi)
-SRC_URI_append_imx8mqevk = " file://imx8mq-evkb.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_imx8mqevk = " ${WORKDIR}/imx8mq-evkb.cfg"
+AGL_KCONFIG_FRAGMENTS:append:imx8mq-evk = " imx8mq-evkb.cfg"
-# Turn off a couple of things enabled by default by Freescale
-# (lock debugging and userspace firmware loader fallback)
-SRC_URI_append = " file://fixups.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fixups.cfg"
+# Build in etnaviv if required
+AGL_KCONFIG_FRAGMENTS:append:etnaviv = " etnaviv.cfg"
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend
new file mode 100644
index 000000000..1007f3c7c
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend
@@ -0,0 +1 @@
+require linux-fslc.inc
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc
new file mode 100644
index 000000000..948b8c22c
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+require recipes-kernel/linux/linux-yocto-agl.inc
+
+# Make sure these are enabled so that AGL systemd configuration works
+AGL_KCONFIG_FRAGMENTS += " \
+ tmpfs.cfg \
+ namespace.cfg \
+ cgroup.cfg \
+"
+
+# Support for CFG80211 subsystem
+AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg"
+
+# Turn off a couple of things enabled by default by Freescale
+# (lock debugging and userspace firmware loader fallback)
+AGL_KCONFIG_FRAGMENTS += "fixups.cfg"
+
+do_install:append:cubox-i() {
+ # Add symlink to work with default Hummingboard 2 u-boot configuration
+ ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb
+}
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
index 640f9cfe5..1007f3c7c 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
@@ -1,25 +1 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-require recipes-kernel/linux/linux-agl.inc
-
-# Make sure these are enabled so that AGL configurations work
-SRC_URI_append = " file://tmpfs.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/tmpfs.cfg"
-SRC_URI_append = " file://namespace.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/namespace.cfg"
-SRC_URI_append = " file://cgroup.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cgroup.cfg"
-
-# Support for CFG80211 subsystem
-SRC_URI_append = " file://cfg80211.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/cfg80211.cfg"
-
-# Turn off a couple of things enabled by default by Freescale
-# (lock debugging and userspace firmware loader fallback)
-SRC_URI_append = " file://fixups.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fixups.cfg"
-
-do_install_append_cubox-i() {
- # Add symlink to work with default Hummingboard 2 u-boot configuration
- ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb
-}
+require linux-fslc.inc
diff --git a/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index 007671977..000000000
--- a/meta-agl-bsp/meta-intel/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# Select a different rotation for our default panel.
-SRC_URI_remove = "file://hdmi-a-1-270.cfg"
-SRC_URI += "file://hdmi-a-1-90.cfg"
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/extra-graphic-devices.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/extra-graphic-devices.cfg
deleted file mode 100644
index d2b64de67..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/extra-graphic-devices.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_RSI_91X=m
-CONFIG_RSI_DEBUGFS=y
-CONFIG_RSI_SDIO=m
-CONFIG_RSI_USB=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_USERPTR=y
-CONFIG_DRM_NOUVEAU=m
-CONFIG_NOUVEAU_DEBUG=5
-CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_VGEM=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_GMA500=m
-CONFIG_DRM_GMA600=y
-CONFIG_DRM_GMA3600=y
-CONFIG_DRM_UDL=m
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_BACKLIGHT=y
-CONFIG_IRQ_BYPASS_MANAGER=m
-CONFIG_ACPI_WMI=m
-CONFIG_MXM_WMI=m
-CONFIG_SCHED_INFO=y
-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_KVM_ASYNC_PF=y
-CONFIG_HAVE_KVM_MSI=y
-CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
-CONFIG_KVM_VFIO=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_KVM_COMPAT=y
-CONFIG_HAVE_KVM_IRQ_BYPASS=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_CRC7=m
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/fix_branch.scc b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/fix_branch.scc
deleted file mode 100644
index d94108d9f..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/fix_branch.scc
+++ /dev/null
@@ -1,3 +0,0 @@
-
-branch bxt-rebase
-mark patching start
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/lava.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/lava.cfg
deleted file mode 100644
index 4dcf4036d..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/lava.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_NBD=y
-CONFIG_BLK_DEV_INITRD=y
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/net-devices.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/net-devices.cfg
deleted file mode 100644
index ab88cedc2..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/net-devices.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_IGB=y
-CONFIG_R8169=y
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/security-tpm.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/security-tpm.cfg
deleted file mode 100644
index b66b1b9b1..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/security-tpm.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS=y
-CONFIG_TCG_CRB=y
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/startup.nsh b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/startup.nsh
deleted file mode 100644
index 33746243d..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/startup.nsh
+++ /dev/null
@@ -1 +0,0 @@
-fs0:EFI\BOOT\BOOTx64.EFI
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/upsquare.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/upsquare.cfg
deleted file mode 100644
index 7be178bf6..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/upsquare.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_MFD_CORE=y
-CONFIG_MFD_INTEL_LPSS=y
-CONFIG_MFD_INTEL_LPSS_ACPI=y
-CONFIG_MFD_INTEL_LPSS_PCI=y
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/usb-devices.cfg b/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/usb-devices.cfg
deleted file mode 100644
index 19c57796e..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/files/usb-devices.cfg
+++ /dev/null
@@ -1,82 +0,0 @@
-CONFIG_BT_QCA=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211_WEXT_EXPORT=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_RING=m
-CONFIG_VHOST=m
-CONFIG_MICROCHIP_PHY=m
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_HSO=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_MWL8K=m
-# CONFIG_B43_BUSES_BCMA_AND_SSB is not set
-# CONFIG_B43_BUSES_BCMA is not set
-# CONFIG_B43_BUSES_SSB is not set
-CONFIG_BRCMFMAC_PROTO_MSGBUF=y
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-CONFIG_IPW2100_DEBUG=y
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-CONFIG_IPW2200_DEBUG=y
-CONFIG_LIBIPW=m
-CONFIG_LIBIPW_DEBUG=y
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_SDIO=m
-CONFIG_LIBERTAS_SPI=m
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_MESH is not set
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_WLAN_VENDOR_TI=y
-CONFIG_WL1251=m
-# CONFIG_WL1251_SPI is not set
-# CONFIG_WL1251_SDIO is not set
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE=m
-CONFIG_WLCORE_SPI=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_WILINK_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-CONFIG_ZD1211RW_DEBUG=y
-CONFIG_MWIFIEX=m
-# CONFIG_MWIFIEX_SDIO is not set
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_%.bbappend b/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_%.bbappend
deleted file mode 100644
index 88ac94b15..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require recipes-kernel/linux/linux-agl.inc
diff --git a/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_4.19%.bbappend b/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_4.19%.bbappend
deleted file mode 100644
index 9827b3e7d..000000000
--- a/meta-agl-bsp/meta-intel/recipes-kernel/linux/linux-intel_4.19%.bbappend
+++ /dev/null
@@ -1,28 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# adding most supported USB Bluetooth, Wifi, and Ethernet devices
-SRC_URI_append = " file://usb-devices.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/usb-devices.cfg"
-
-# adding support for other graphic cards to work on more PC HW
-SRC_URI_append = " file://extra-graphic-devices.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/extra-graphic-devices.cfg"
-
-# adding internal network in kernel for network boot
-SRC_URI_append = " file://net-devices.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/net-devices.cfg"
-
-# adding specific driver needed by the upsquare board
-SRC_URI_append = " file://upsquare.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/upsquare.cfg"
-
-# adding CONFIG needed by LAVA and NBD
-SRC_URI_append = " file://lava.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/lava.cfg"
-
-# Ensure we have a startup.nsh file
-SRC_URI_append = " file://startup.nsh"
-
-do_deploy_append() {
- install -m 0755 ${WORKDIR}/startup.nsh ${DEPLOYDIR}/
-}
diff --git a/meta-agl-bsp/meta-iot-cloud/recipes-azure/azure-macro-utils-c/azure-macro-utils-c_%.bbappend b/meta-agl-bsp/meta-iot-cloud/recipes-azure/azure-macro-utils-c/azure-macro-utils-c_%.bbappend
deleted file mode 100644
index afe3e9cda..000000000
--- a/meta-agl-bsp/meta-iot-cloud/recipes-azure/azure-macro-utils-c/azure-macro-utils-c_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-agl-bsp/meta-iot-cloud/recipes-azure/umock-c/umock-c_%.bbappend b/meta-agl-bsp/meta-iot-cloud/recipes-azure/umock-c/umock-c_%.bbappend
deleted file mode 100644
index afe3e9cda..000000000
--- a/meta-agl-bsp/meta-iot-cloud/recipes-azure/umock-c/umock-c_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-ALLOW_EMPTY_${PN} = "1"
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb
deleted file mode 100644
index 446770f8e..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Useful bits an pieces to make 96Boards more standard across the board"
-HOMEPAGE = "https://github.com/96boards/96boards-tools"
-SECTION = "devel"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRCREV = "ed0f0dbec02c1869a0c4fa0140b4aa5338c9d010"
-SRC_URI = "git://github.com/96boards/96boards-tools;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit systemd allarch update-rc.d
-
-do_install () {
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0755 ${S}/*.rules ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/resize-disk ${D}${sysconfdir}/init.d/
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/resize-helper.service ${D}${systemd_unitdir}/system
-
- install -d ${D}${sbindir}
- install -m 0755 ${S}/resize-helper ${D}${sbindir}
-}
-
-INITSCRIPT_NAME = "resize-disk"
-INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
-
-SYSTEMD_SERVICE_${PN} = "resize-helper.service"
-RDEPENDS_${PN} += "e2fsprogs-resize2fs gptfdisk parted util-linux udev"
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service
deleted file mode 100644
index 3d9cd24bb..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Qualcomm Hexagon PIL setup
-After=rmtfs.service
-Requires=rmtfs.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/sbin/modprobe -q qcom_q6v5_pil
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb
deleted file mode 100644
index 19f0760ac..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-inherit systemd
-
-SUMMARY = "Systemd unit file for the delay loading Hexagon PIL kernel module"
-SECTION = "misc"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI += "file://qcom-q6v5-pil.service"
-
-do_install() {
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/qcom-q6v5-pil.service ${D}${systemd_unitdir}/system
-
- # Blacklist qcom_q6v5_pil to prevent modules autoload
- # qcom-q6v5-pil.service will do the work after rmtfs done.
- install -d ${D}/${sysconfdir}/modprobe.d
- echo "blacklist qcom_q6v5_pil" > ${D}/${sysconfdir}/modprobe.d/qcom_q6v5_pil.conf
-}
-
-SYSTEMD_SERVICE_${PN} = "qcom-q6v5-pil.service"
diff --git a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend b/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend
deleted file mode 100644
index 0b2b99d4d..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-require recipes-kernel/linux/linux-agl.inc
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend
deleted file mode 100644
index adb19c09c..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-RDEPENDS_${PN}_append_sota += " u-boot-otascript"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend
index 9891fa200..248623699 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend
@@ -1,53 +1,46 @@
DISABLE_OVERSCAN = "1"
TOTAL_BOARD_MEM = "3072"
-do_deploy_append_raspberrypi4() {
+do_deploy:append:raspberrypi4() {
# ENABLE CAN
if [ "${ENABLE_CAN}" = "1" ]; then
- echo "# Enable CAN" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "# Enable CAN" >>${DEPLOYDIR}/bootfiles/config.txt
+ echo "dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25" >>${DEPLOYDIR}/bootfiles/config.txt
fi
# Handle setup with armstub file
if [ -n "${ARMSTUB}" ]; then
- echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "\n# ARM stub configuration" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "armstub=${ARMSTUB}" >> ${DEPLOYDIR}/bootfiles/config.txt
case "${ARMSTUB}" in
*-gic.bin)
- echo "enable_gic=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "enable_gic=1" >> ${DEPLOYDIR}/bootfiles/config.txt
;;
esac
fi
if [ "${AGL_XEN_WANTED}" = "1" ]; then
- echo "total_mem=${TOTAL_BOARD_MEM}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "total_mem=${TOTAL_BOARD_MEM}" >> ${DEPLOYDIR}/bootfiles/config.txt
fi
}
-do_deploy_append() {
+do_deploy:append() {
if [ "${ENABLE_CMA}" = "1" ] && [ -n "${CMA_LWM}" ]; then
- sed -i '/#cma_lwm/ c\cma_lwm=${CMA_LWM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#cma_lwm/ c\cma_lwm=${CMA_LWM}' ${DEPLOYDIR}/bootfiles/config.txt
fi
if [ "${ENABLE_CMA}" = "1" ] && [ -n "${CMA_HWM}" ]; then
- sed -i '/#cma_hwm/ c\cma_hwm=${CMA_HWM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ sed -i '/#cma_hwm/ c\cma_hwm=${CMA_HWM}' ${DEPLOYDIR}/bootfiles/config.txt
fi
- echo "avoid_warnings=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "mask_gpu_interrupt0=0x400" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=vc4-kms-v3d-overlay,cma-256" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=rpi-ft5406-overlay" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+ echo "avoid_warnings=2" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "mask_gpu_interrupt0=0x400" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "dtoverlay=vc4-kms-v3d-overlay,cma-256" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "dtoverlay=rpi-ft5406-overlay" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "dtparam=audio=on" >> ${DEPLOYDIR}/bootfiles/config.txt
}
-do_deploy_append_raspberrypi4() {
- echo -e "\n[pi4]" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "max_framebuffers=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+do_deploy:append:raspberrypi4() {
+ echo -e "\n[pi4]" >> ${DEPLOYDIR}/bootfiles/config.txt
+ echo "max_framebuffers=2" >> ${DEPLOYDIR}/bootfiles/config.txt
}
-
-do_deploy_append_sota() {
- echo "device_tree_address=0x0c800000" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
-}
-
-ENABLE_UART_raspberrypi3 = "1"
-ENABLE_UART_raspberrypi4 = "1"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
index 2437d9a84..1e9f47d23 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend
@@ -1,10 +1,10 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI_append =" \
+SRC_URI:append =" \
${@bb.utils.contains('AGL_XEN_WANTED','1',' file://boot_xen.cmd','',d)} \
"
-do_compile_append() {
+do_compile:append() {
# if xen feature is activated we overwirte the boot script with xen specific one
if [ "${AGL_XEN_WANTED}" = "1" ]; then
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/files/0001-board-raspberrypi-add-serial-and-revision-to-the-dev-2019.07.patch b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/files/0001-board-raspberrypi-add-serial-and-revision-to-the-dev-2019.07.patch
deleted file mode 100644
index 964cdb7a2..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/files/0001-board-raspberrypi-add-serial-and-revision-to-the-dev-2019.07.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 86cc911aaa958fedf2ea9cb04b4af17f5357815d Mon Sep 17 00:00:00 2001
-From: Anton Gerasimov <anton.gerasimov@here.com>
-Date: Fri, 1 Feb 2019 14:39:48 +0100
-Subject: [PATCH] board: raspberrypi: add serial and revision to the device
- tree
-
-Raspberry Pi bootloader adds this node to fdt, but if u-boot script
-doesn't reuse the tree provided by it, this information is lost.
-
-Revision and serial are displayed in /proc/cpuinfo after boot.
-
-Signed-off-by: Anton Gerasimov <anton.gerasimov@here.com>
----
- board/raspberrypi/rpi/rpi.c | 31 +++++++++++++++++++++++++++++--
- 1 file changed, 29 insertions(+), 2 deletions(-)
-
-diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
-index 35f5939552..114178397e 100644
---- a/board/raspberrypi/rpi/rpi.c
-+++ b/board/raspberrypi/rpi/rpi.c
-@@ -241,6 +241,8 @@ static uint32_t rev_scheme;
- static uint32_t rev_type;
- static const struct rpi_model *model;
-
-+uint64_t serial;
-+
- #ifdef CONFIG_ARM64
- static struct mm_region bcm2837_mem_map[] = {
- {
-@@ -384,8 +386,8 @@ static void set_serial_number(void)
- return;
- }
-
-- snprintf(serial_string, sizeof(serial_string), "%016llx",
-- msg->get_board_serial.body.resp.serial);
-+ serial = msg->get_board_serial.body.resp.serial;
-+ snprintf(serial_string, sizeof(serial_string), "%016llx", serial);
- env_set("serial#", serial_string);
- }
-
-@@ -478,6 +480,29 @@ void *board_fdt_blob_setup(void)
- return (void *)fw_dtb_pointer;
- }
-
-+static int ft_add_revision_info(void *blob) {
-+ int off;
-+ int ret;
-+
-+ off = fdt_subnode_offset(blob, 0, "system");
-+
-+ if (off < 0) {
-+ off = fdt_add_subnode(blob, 0, "system");
-+ if (off < 0)
-+ return -1;
-+ }
-+
-+ ret = fdt_setprop_u64(blob, off, "linux,serial", serial);
-+ if (ret < 0)
-+ return -1;
-+
-+ ret = fdt_setprop_u32(blob, off, "linux,revision", revision);
-+ if (ret < 0)
-+ return -1;
-+
-+ return 0;
-+}
-+
- int ft_board_setup(void *blob, bd_t *bd)
- {
- /*
-@@ -487,6 +512,8 @@ int ft_board_setup(void *blob, bd_t *bd)
- */
- lcd_dt_simplefb_add_node(blob);
-
-+ ft_add_revision_info(blob);
-+
- #ifdef CONFIG_EFI_LOADER
- /* Reserve the spin table */
- efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);
---
-2.17.1
-
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2020.01.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2020.01.bbappend
deleted file mode 100644
index ba2ecb599..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/u-boot/u-boot_2020.01.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# Update the patch for u-boot 2019.07
-SRC_URI_remove_sota = "file://0001-board-raspberrypi-add-serial-and-revision-to-the-dev.patch"
-SRC_URI_append_sota = "file://0001-board-raspberrypi-add-serial-and-revision-to-the-dev-2019.07.patch"
-
-DEPENDS_append_rpi = " rpi-u-boot-scr"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index dd01c4e5d..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://dsi.cfg"
-
-# Reduce the screen resolution to HD Ready (720p)
-SRC_URI_remove = "file://hdmi-a-1-270.cfg"
-SRC_URI_append = " file://hdmi-a-1-270-720p.cfg"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg
deleted file mode 100644
index 72a6d2bf8..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-# Support the Raspberry Pi Foundation 7" tablet which uses the DSI connector
-# rather than HDMI.
-[output]
-name=DSI-1
-transform=270
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270-720p.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270-720p.cfg
deleted file mode 100644
index e1c9db1a8..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270-720p.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-# A display is connected to HDMI-A-1 and needs to be rotated 270 degrees
-# to have a proper orientation of the homescreen. For example the various sizes
-# of the GeChic display or the Dell display.
-[output]
-name=HDMI-A-1
-transform=270
-mode=1280x720
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb
index c82e6fd22..c5edbe1dc 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/create-combined-dtb/create-combined-dtb_1.0.0.bb
@@ -7,35 +7,27 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384
DEPENDS = "dtc-native"
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
S = "${WORKDIR}"
do_compile[depends] += "virtual/kernel:do_deploy"
do_compile () {
- # Official touchscreen setup (rpi3b/rpi3b dtb, VC4DTBO and ft5406)
- if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b-plus+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
- fi
- if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
- fi
+ # Plain VC4 (HDMI)
if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
+ fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4.dtb \
+ ${DEPLOY_DIR_IMAGE}/${VC4DTBO}-pi4.dtbo
fi
- # HDMI screen setup (rpi3b/rpi3b dtb and VC4DTBO)
- if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b-plus+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
- fi
- if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
- fi
- if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" ]; then
- fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
+ # VC4 + LCD
+ if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" -a -f "${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo" ]; then
+ fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4+ft5406.dtb \
+ ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo \
+ ${DEPLOY_DIR_IMAGE}/${VC4DTBO}-pi4.dtbo
fi
+
}
do_deploy () {
@@ -43,21 +35,9 @@ do_deploy () {
if [ -f "${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb" ]; then
install -m 0644 ${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
fi
- if [ -f "${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb" ]; then
- install -m 0644 ${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
- fi
- if [ -f "${S}/bcm2710-rpi-3+vc4+ft5406.dtb" ]; then
- install -m 0644 ${S}/bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
- fi
if [ -f "${S}/bcm2711-rpi-4-b+vc4.dtb" ]; then
install -m 0644 ${S}/bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
fi
- if [ -f "${S}/bcm2710-rpi-3-b+vc4.dtb" ]; then
- install -m 0644 ${S}/bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
- fi
- if [ -f "${S}/bcm2710-rpi-3+vc4.dtb" ]; then
- install -m 0644 ${S}/bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}
- fi
}
addtask deploy after do_install
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend
new file mode 100644
index 000000000..a28a9e748
--- /dev/null
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI += "file://0001-fdtoverlay-Prevent-overlays-from-modifying-phandle-p.patch"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/files/0001-fdtoverlay-Prevent-overlays-from-modifying-phandle-p.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/files/0001-fdtoverlay-Prevent-overlays-from-modifying-phandle-p.patch
new file mode 100644
index 000000000..0f275f1ac
--- /dev/null
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/files/0001-fdtoverlay-Prevent-overlays-from-modifying-phandle-p.patch
@@ -0,0 +1,154 @@
+From caba0117dc30f2357eac6d04f3510095dcbaa7f4 Mon Sep 17 00:00:00 2001
+From: Paul Barker <pbarker@konsulko.com>
+Date: Fri, 18 Dec 2020 23:00:07 +0000
+Subject: [PATCH] fdtoverlay: Prevent overlays from modifying phandle
+ properties
+To: David Gibson <david@gibson.dropbear.id.au>,
+ Jon Loeliger <jdl@jdl.com>,
+ devicetree-compiler@vger.kernel.org
+Cc: Rob Herring <robh@kernel.org>,
+ Pantelis Antoniou <pantelis.antoniou@konsulko.com>,
+ Scott Murray <scott.murray@konsulko.com>,
+ Jan Simon Moeller <jsmoeller@linuxfoundation.org>
+
+When applying an overlay fragment, we should take care not to overwrite
+an existing phandle property of the target node as this could break
+references to the target node elsewhere in the base dtb.
+
+In addition to potentially breaking references within the resulting fdt,
+if the overlay is built with symbols enabled (`-@` option to dtc) then
+fdtoverlay will be unable to merge the overlay with a base dtb file.
+
+A new test case is added to check how fdtoverlay handles this case.
+Attempting to apply this test overlay without the fix in this patch
+results in the following output:
+
+ input = tests/overlay_base_ref.test.dtb
+ output = tests/overlay_overlay_ref.fdtoverlay.dtb
+ overlay[0] = tests/overlay_overlay_ref.test.dtb
+
+ Failed to apply 'tests/overlay_overlay_ref.test.dtb': FDT_ERR_NOTFOUND
+
+In this test case the __overlay__ node in question does not explicitly
+contain a phandle property in the dts file, the phandle is added during
+compilation as it is referenced by another node within the overlay dts.
+
+This failure occurs due to a sequence of events in the functions called
+by fdt_overlay_apply():
+
+1) In overlay_fixup_phandles(), the target of the overlay fragment is
+ looked up and the target property is set to the phandle of the target
+ node.
+
+2) In overlay_merge(), the target node is looked up by phandle via
+ overlay_get_target(). As the __overlay__ node in this test case
+ itself has a phandle property, the phandle of the target node is
+ modified.
+
+3) In overlay_symbol_update(), the target node is again looked up by
+ phandle via overlay_get_target(). But this time the target node
+ cannot be found as its phandle property was modified.
+
+The fix for this issue is to skip modification of the phandle property
+of the target node in step (2) of the above sequence. If the target node
+doesn't already contain a phandle property, we can add one without risk.
+
+Upstream-Status: Submitted
+ https://www.spinics.net/lists/devicetree-compiler/msg03537.html
+Signed-off-by: Paul Barker <pbarker@konsulko.com>
+---
+ libfdt/fdt_overlay.c | 2 ++
+ tests/overlay_base_ref.dts | 19 +++++++++++++++++++
+ tests/overlay_overlay_ref.dts | 24 ++++++++++++++++++++++++
+ tests/run_tests.sh | 5 +++++
+ 4 files changed, 50 insertions(+)
+ create mode 100644 tests/overlay_base_ref.dts
+ create mode 100644 tests/overlay_overlay_ref.dts
+
+diff --git a/libfdt/fdt_overlay.c b/libfdt/fdt_overlay.c
+index d217e79..b3c217a 100644
+--- a/libfdt/fdt_overlay.c
++++ b/libfdt/fdt_overlay.c
+@@ -573,6 +573,8 @@ static int overlay_apply_node(void *fdt, int target,
+ if (prop_len < 0)
+ return prop_len;
+
++ if (!strcmp(name, "phandle") && fdt_getprop(fdt, target, name, NULL))
++ continue;
+ ret = fdt_setprop(fdt, target, name, prop, prop_len);
+ if (ret)
+ return ret;
+diff --git a/tests/overlay_base_ref.dts b/tests/overlay_base_ref.dts
+new file mode 100644
+index 0000000..1fc02a2
+--- /dev/null
++++ b/tests/overlay_base_ref.dts
+@@ -0,0 +1,19 @@
++/*
++ * Copyright (c) 2016 NextThing Co
++ * Copyright (c) 2016 Free Electrons
++ * Copyright (c) 2016 Konsulko Inc.
++ *
++ * SPDX-License-Identifier: GPL-2.0+
++ */
++
++/dts-v1/;
++
++/ {
++ test: test-node {
++ test-int-property = <42>;
++ };
++
++ test-refs {
++ refs = <&test>;
++ };
++};
+diff --git a/tests/overlay_overlay_ref.dts b/tests/overlay_overlay_ref.dts
+new file mode 100644
+index 0000000..a45c95d
+--- /dev/null
++++ b/tests/overlay_overlay_ref.dts
+@@ -0,0 +1,24 @@
++/*
++ * Copyright (c) 2016 NextThing Co
++ * Copyright (c) 2016 Free Electrons
++ * Copyright (c) 2016 Konsulko Inc.
++ *
++ * SPDX-License-Identifier: GPL-2.0+
++ */
++
++/dts-v1/;
++/plugin/;
++
++/ {
++ fragment@0 {
++ target = <&test>;
++
++ frag0: __overlay__ {
++ test-int-property = <43>;
++ };
++ };
++
++ test-ref {
++ ref = <&frag0>;
++ };
++};
+diff --git a/tests/run_tests.sh b/tests/run_tests.sh
+index 294585b..a65b166 100755
+--- a/tests/run_tests.sh
++++ b/tests/run_tests.sh
+@@ -329,6 +329,11 @@ dtc_overlay_tests () {
+ run_test check_path overlay_base_with_aliases.dtb not-exists "/__symbols__"
+ run_test check_path overlay_base_with_aliases.dtb not-exists "/__fixups__"
+ run_test check_path overlay_base_with_aliases.dtb not-exists "/__local_fixups__"
++
++ # Test taking a reference to an overlay fragment
++ run_dtc_test -@ -I dts -O dtb -o overlay_base_ref.test.dtb "$SRCDIR/overlay_base_ref.dts"
++ run_dtc_test -@ -I dts -O dtb -o overlay_overlay_ref.test.dtb "$SRCDIR/overlay_overlay_ref.dts"
++ run_wrap_test $FDTOVERLAY -i overlay_base_ref.test.dtb overlay_overlay_ref.test.dtb -o overlay_overlay_ref.fdtoverlay.dtb
+ }
+
+ tree1_tests () {
+--
+2.26.2
+
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch
deleted file mode 100644
index 04a8733f2..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0002-Disable-DMA-in-sdhci-driver.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 758bc9b917469bc4e527dc3aae821c91cbc3d426 Mon Sep 17 00:00:00 2001
-From: Stewart Hildebrand <stewart.hildebrand@dornerworks.com>
-Date: Thu, 18 Jul 2019 00:01:27 -0400
-Subject: [PATCH 2/4] Disable DMA in sdhci driver
-
----
- drivers/mmc/host/sdhci-iproc.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
-index 983cddce9..150f7bfc8 100644
---- a/drivers/mmc/host/sdhci-iproc.c
-+++ b/drivers/mmc/host/sdhci-iproc.c
-@@ -252,6 +252,8 @@ static const struct sdhci_iproc_data bcm2835_data = {
-
- static const struct sdhci_pltfm_data sdhci_bcm2838_pltfm_data = {
- .ops = &sdhci_iproc_32only_ops,
-+ .quirks = SDHCI_QUIRK_BROKEN_DMA |
-+ SDHCI_QUIRK_BROKEN_ADMA,
- };
-
- static const struct sdhci_iproc_data bcm2838_data = {
---
-2.17.1
-
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch
deleted file mode 100644
index 835f36da3..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 77765c2a47ce43911b8fe7b09f037c9bc13008ca Mon Sep 17 00:00:00 2001
-From: Jeff Kubascik <jeff.kubascik@dornerworks.com>
-Date: Tue, 30 Jul 2019 08:49:56 -0400
-Subject: [PATCH 3/4] Fix PCIe in dom0 for RPi4
-
-There is an issue where the Broadcom PCIe driver and Xen swiotlb layer
-invoke each other's dma alloc function recursively until the stack blows
-up. The cause appears to be due to arch_setup_dma_ops being called
-more than once for the device, possibly through of_dma_configure, and
-screwing up the dma_ops pointers. This patch adds a check to make sure
-that the xen_dma_ops are applied only once for a device.
----
- arch/arm64/mm/dma-mapping.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
-index d3a5bb16f..243a3b9be 100644
---- a/arch/arm64/mm/dma-mapping.c
-+++ b/arch/arm64/mm/dma-mapping.c
-@@ -895,7 +895,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
- __iommu_setup_dma_ops(dev, dma_base, size, iommu);
-
- #ifdef CONFIG_XEN
-- if (xen_initial_domain()) {
-+ if (!dev->archdata.dev_dma_ops && xen_initial_domain()) {
- dev->archdata.dev_dma_ops = dev->dma_ops;
- dev->dma_ops = xen_dma_ops;
- }
---
-2.17.1
-
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch
new file mode 100644
index 000000000..7f0979ca9
--- /dev/null
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch
@@ -0,0 +1,48 @@
+From bebd63730a433ba62549a80114a9851328aa8897 Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@windriver.com>
+Date: Mon, 2 Jul 2018 23:10:28 -0400
+Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location
+
+In some cross build environments such as the Yocto Project build
+environment it provides an ncurses library that is compiled
+differently than the host's version. This causes display corruption
+problems when the host's curses includes are used instead of the
+includes from the provided compiler are overridden. There is a second
+case where there is no curses libraries at all on the host system and
+menuconfig will just fail entirely.
+
+The solution is simply to allow an override variable in
+check-lxdialog.sh for environments such as the Yocto Project. Adding
+a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing
+compiling and linking against the right headers and libraries.
+
+Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
+cc: Michal Marek <mmarek@suse.cz>
+cc: linux-kbuild@vger.kernel.org
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ scripts/kconfig/mconf-cfg.sh | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
+index c812872d7f9d..42d20819025c 100755
+--- a/scripts/kconfig/mconf-cfg.sh
++++ b/scripts/kconfig/mconf-cfg.sh
+@@ -4,6 +4,14 @@
+ PKG="ncursesw"
+ PKG2="ncurses"
+
++if [ "$CROSS_CURSES_LIB" != "" ]; then
++ echo libs=\'$CROSS_CURSES_LIB\'
++ if [ x"$CROSS_CURSES_INC" != x ]; then
++ echo cflags=\'$CROSS_CURSES_INC\'
++ fi
++ exit 0
++fi
++
+ if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
+ if ${HOSTPKG_CONFIG} --exists $PKG; then
+ echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\"
+--
+2.17.1
+
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg
index 36f390187..36f390187 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/xen-be.cfg
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/xen-be.cfg
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend
index f78e0b5eb..ec3fa910b 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend
@@ -1,47 +1,46 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-require recipes-kernel/linux/linux-agl.inc
+require recipes-kernel/linux/linux-yocto-agl.inc
-SRC_URI_append = "\
+SRC_URI:append = " \
${@oe.utils.conditional('USE_FAYTECH_MONITOR', '1', 'file://0002-faytech-fix-rpi.patch', '', d)} \
+ file://0001-mconf-menuconfig.patch \
"
-#take in account that linux under xen should use the hvc0 console
-SERIAL_OPTION = "${@bb.utils.contains('AGL_XEN_WANTED','1','hvc0','115200;ttyS0',d)}"
+
+# Enable support for Pi foundation touchscreen
+AGL_KCONFIG_FRAGMENTS += "raspberrypi-panel.cfg"
+
+# Enable bt hci uart
+AGL_KCONFIG_FRAGMENTS += "raspberrypi-hciuart.cfg"
+
+# ENABLE NETWORK (built-in)
+AGL_KCONFIG_FRAGMENTS += "raspberrypi_network.cfg"
+
+# For Xen
+AGL_KCONFIG_FRAGMENTS += " \
+ ${@bb.utils.contains('AGL_XEN_WANTED','1','xen-be.cfg','',d)} \
+"
+
+# Take in account that linux under Xen should use the hvc0 console
+SERIAL_OPTION = "${@bb.utils.contains('AGL_XEN_WANTED','1','hvc0','ttyS0,115200',d)}"
SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=${SERIAL_OPTION}", "", d)}"
CMDLINE_DEBUG = ""
-#XEN related option
-CMDLINE_append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','clk_ignore_unused','',d)}'
+# Xen related option
+CMDLINE:append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','clk_ignore_unused','',d)}'
-#workaround for crash during brcmfmac loading. Disable it at this moment
-CMDLINE_append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','modprobe.blacklist=brcmfmac','',d)}'
+# Workaround for crash during brcmfmac loading. Disable it at this moment
+CMDLINE:append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','modprobe.blacklist=brcmfmac','',d)}'
-CMDLINE_append = " usbhid.mousepoll=0"
+CMDLINE:append = " usbhid.mousepoll=0"
# Add options to allow CMA to operate
-CMDLINE_append = ' ${@oe.utils.conditional("ENABLE_CMA", "1", "coherent_pool=6M smsc95xx.turbo_mode=N", "", d)}'
+CMDLINE:append = '${@oe.utils.conditional("ENABLE_CMA", "1", " coherent_pool=6M smsc95xx.turbo_mode=N", "", d)}'
KERNEL_MODULE_AUTOLOAD += "snd-bcm2835"
KERNEL_MODULE_AUTOLOAD += "hid-multitouch"
-RDEPENDS_${PN} += "kernel-module-snd-bcm2835"
PACKAGES += "kernel-module-snd-bcm2835"
-# Enable support for usb video class for usb camera devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg"
-
-# Enable support for joystick devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg"
-
-# Enable support for Pi foundation touchscreen
-SRC_URI_append = " file://raspberrypi-panel.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/raspberrypi-panel.cfg"
-
-# Enable bt hci uart
-SRC_URI_append = " file://raspberrypi-hciuart.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/raspberrypi-hciuart.cfg"
-
-# ENABLE NETWORK (built-in)
-SRC_URI_append = " file://raspberrypi_network.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/raspberrypi_network.cfg"
+RDEPENDS:${PN} += "kernel-module-snd-bcm2835"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend
deleted file mode 100644
index 7f17f0c3f..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend
+++ /dev/null
@@ -1,20 +0,0 @@
-require recipes-kernel/linux/linux-agl-4.19.inc
-
-ENABLE_UART_raspberrypi4 = "1"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-
-# For Xen
-
-SRC_URI_append =" \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','file://0002-Disable-DMA-in-sdhci-driver.patch','',d)} \
-"
-
-SRC_URI_append =" \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','file://0003-Fix-PCIe-in-dom0-for-RPi4.patch','',d)} \
-"
-
-SRC_URI_append = " \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','file://xen-be.cfg','',d)} \
-"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
index e48a380a3..2e045c1f2 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -1,2 +1,2 @@
# Disable faad by default to avoid licensing issues
-PACKAGECONFIG_remove_rpi = "faad"
+PACKAGECONFIG:remove:rpi = "faad"
diff --git a/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend
new file mode 100644
index 000000000..d565da8ac
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend
@@ -0,0 +1,11 @@
+do_install:append () {
+
+ # Remove firmware file that is not packaged in the kernel.
+ # It throws an error during do_package.
+ # It seems to be moved out of the kernel in later BSP versions.
+ rm -rf ${D}/lib/firmware/r8a779f0_ufs.bin
+ rm -rf ${D}/lib/firmware
+ rm -rf ${D}/lib
+
+}
+
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/arm-trusted-firmware b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/arm-trusted-firmware
new file mode 120000
index 000000000..133ef4917
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/arm-trusted-firmware
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-bsp/arm-trusted-firmware/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/si-tools b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/si-tools
new file mode 120000
index 000000000..9065d9e99
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/si-tools
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-bsp/si-tools/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt
new file mode 120000
index 000000000..13ea60b90
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-bsp/ti-bt \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt-firmware b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt-firmware
new file mode 120000
index 000000000..b6dd66919
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/ti-bt-firmware
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/u-boot b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/u-boot
new file mode 120000
index 000000000..857cd50d2
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-bsp/u-boot
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-bsp/u-boot/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-graphics/cairo b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-graphics/cairo
new file mode 120000
index 000000000..cc44ec53f
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-graphics/cairo
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-graphics/cairo/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-kernel/linux b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-kernel/linux
new file mode 120000
index 000000000..4feae94d0
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-kernel/linux
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-kernel/linux \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer
new file mode 120000
index 000000000..ef3ed76fd
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/cogent-symlinks/recipes-multimedia/gstreamer
@@ -0,0 +1 @@
+../../../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/ \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/NOTES b/meta-agl-bsp/meta-rcar-gen3-adas/conf/NOTES
new file mode 100644
index 000000000..296dd5e19
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/NOTES
@@ -0,0 +1,74 @@
+#### These are notes for future reference
+
+# TODO: follow-up patch: Need to do other mechanism for package inclusion
+# TODO2: include or leave-out the kernel modules packages
+
+# E.g. MACHINE_FEATURE. Should *not* be in layer.conf !!
+# Radio packages
+#IMAGE_INSTALL:append:rcar-gen3 = " \
+# si-tools \
+# si-init \
+# linux-firmware-wl18xx \
+# ti-bt \
+# ti-bt-firmware \
+# bluez5 \
+# bluez5-testtools \
+# ofono \
+# ofono-tests \
+#"
+# E.g. MACHINE_FEATURE
+#IMAGE_INSTALL:append:r8a7797 += " \
+# kernel-module-uio-imp \
+# kernel-module-cmemdrv \
+# udev-rules-cvlib \
+#"
+# E.g. MACHINE_FEATURE
+#IMAGE_INSTALL:append:r8a7798 += " \
+# kernel-module-uio-imp \
+# kernel-module-cmemdrv \
+# udev-rules-cvlib \
+#"
+# This is a special use case. Should be enabled by user.
+#DISTRO_FEATURES:append = " surroundview "
+
+
+#### BBMASK
+# not required for AGL
+BBMASK += "/meta-rcar-gen3-adas/recipes-benchmark/"
+
+# Do not interfer with the distro configuration
+BBMASK += "/meta-rcar-gen3-adas/recipes-connectivity/bluez/"
+
+# We do not need the network config done here
+BBMASK += "/meta-rcar-gen3-adas/recipes-core/systemd/"
+
+# These changes are applied unconditionally when the layer is present.
+# These are not required for AGL
+BBMASK += "/meta-rcar-gen3-adas/recipes-core/images/"
+BBMASK += "/meta-rcar-gen3-adas/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend"
+
+# Upstream does have this change already, so this is not required.
+# poky/meta/classes/cmake.bbclass: -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1
+BBMASK += "/meta-rcar-gen3-adas/recipes-devtools/cmake/"
+
+# Upstream has a more recent valgrind (3.15.0 vs 3.12.0)
+BBMASK += "/meta-rcar-gen3-adas/recipes-devtools/valgrind/"
+
+# This is already part of upstream and no bbappend is required
+BBMASK += "/meta-rcar-gen3-adas/recipes-devtools/gcc/"
+
+# libpng in upstream already enabled neon
+# poky/meta/recipes-multimedia/libpng/libpng_1.6.37.bb:EXTRA_OECONF:append:class-target = " ${@bb.utils.contains("TUNE_FEATURES", "neon", "--enable-arm-neon=on", "--enable-arm-neon=off" ,d)}"
+BBMASK += "/meta-rcar-gen3-adas/recipes-graphics/libpng/"
+
+# opencv in upstream is newer
+BBMASK += "/meta-rcar-gen3-adas/recipes-graphics/opencv/"
+
+# unclear patch status
+BBMASK += "/meta-rcar-gen3-adas/recipes-graphics/wayland/"
+
+# not required in AGL
+BBMASK += "/meta-rcar-gen3-adas/recipes-multimedia/pulseaudio/"
+
+# not required in AGL
+BBMASK += "/meta-rcar-gen3-adas/recipes-support/"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
index 9295739b0..0c344a471 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
@@ -1,5 +1,20 @@
#Keep this as a reminder
#MACHINEOVERRIDES .= ":kingfisher"
-#PACKAGE_EXTRA_ARCHS_append = " kingfisher"
+#PACKAGE_EXTRA_ARCHS:append = " kingfisher"
-PREFERRED_RPROVIDER_virtual/gpsd-conf ?= "gpsd-kingfisher-conf"
+# Add a feature as a low-impact way to detect Kingfisher support in
+# recipes.
+AGL_FEATURES:append:rcar-gen3 = " kingfisher"
+
+IMAGE_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf${IMAGE_VERSION_SUFFIX}"
+IMAGE_LINK_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf"
+TOOLCHAIN_OUTPUTNAME:rcar-gen3 = "${SDK_NAME}-kf-toolchain-${SDK_VERSION}"
+
+# Radio packages
+IMAGE_INSTALL:append:rcar-gen3 = " \
+ si-tools \
+ si-init \
+ linux-firmware-wl18xx \
+ ti-bt \
+ ti-bt-firmware \
+"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf b/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
index 0f5a972dc..bae421a50 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
@@ -2,72 +2,17 @@
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
+# 1) the first directory symlinks necessary files out of the cogent repo
+# 2) the 2nd directory is our local glue and appends
BBFILES += " \
- ${LAYERDIR}/../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-*/*/*.bb \
- ${LAYERDIR}/../../../bsp/meta-rcar/meta-rcar-gen3-adas/recipes-*/*/*.bbappend \
+ ${LAYERDIR}/cogent-symlinks/recipes-*/*/*.bb \
+ ${LAYERDIR}/cogent-symlinks/recipes-*/*/*.bbappend \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend \
"
BBFILE_COLLECTIONS += "rcar-gen3-cogent"
-BBFILE_PATTERN_rcar-gen3-cogent := "^${LAYERDIR}/../../../bsp/meta-rcar/meta-rcar-gen3-adas/"
+BBFILE_PATTERN_rcar-gen3-cogent := "^${LAYERDIR}/"
BBFILE_PRIORITY_rcar-gen3-cogent = "7"
-LAYERSERIES_COMPAT_rcar-gen3-cogent = "dunfell"
-
-# Custom packages
-IMAGE_INSTALL_append_rcar-gen3 = " \
- can-utils \
- libsocketcan \
- spidev-dbg spidev-test \
- e2fsprogs \
- e2fsprogs-tune2fs \
- ethtool \
- pciutils \
- usbutils \
- mtd-utils \
- capture \
- v4l2-fw \
- iperf3 \
- bonnie++ \
- lmbench \
- eglibc-utils \
- mm-init \
- iio-utils \
- most-tools \
-"
-
-# Radio packages
-IMAGE_INSTALL_append_rcar-gen3 += " \
- si-tools \
- si-init \
- linux-firmware-wl18xx \
- ti-bt \
- ti-bt-firmware \
- bluez5 \
- bluez5-testtools \
- ofono \
- ofono-tests \
-"
-
-# 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 \
-"
-
-DISTRO_FEATURES_append = " surroundview "
-DISTRO_FEATURES_append = " bluetooth"
-
-
-BBMASK += "/meta-rcar-gen3-adas/recipes-core/systemd/"
-BBMASK += "/meta-rcar-gen3-adas/recipes-graphics/opencv/"
-BBMASK += "/meta-rcar-gen3-adas/recipes-devtools/valgrind/"
-
+LAYERSERIES_COMPAT_rcar-gen3-cogent = "scarthgap"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-init_1.0.bb b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-init_1.0.bb
index 7ab99e025..b53504400 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-init_1.0.bb
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-init_1.0.bb
@@ -21,8 +21,8 @@ do_install() {
# the Si468x device via i2c
install -d ${D}${sysconfdir}/udev/rules.d
cat >${D}${sysconfdir}/udev/rules.d/zz-radio-si.rules <<'EOF'
-KERNEL=="i2c-12", MODE="0660", GROUP="audio", SECLABEL{smack}="*"
+KERNEL=="i2c-12", MODE="0660", GROUP="audio"
EOF
}
-FILES_${PN} += "${systemd_system_unitdir}"
+FILES:${PN} += "${systemd_system_unitdir}"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bbappend
index 98c66737b..7121bd168 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/si-tools/si-tools.bbappend
@@ -1,10 +1,10 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/files"
+FILESEXTRAPATHS:append := ":${THISDIR}/files"
SRC_URI += " \
file://si-tools-fm-improvements.patch \
"
-EXTRA_OEMAKE_append = " 'LDFLAGS=${LDFLAGS}'"
+EXTRA_OEMAKE:append = " 'LDFLAGS=${LDFLAGS}'"
do_install() {
install -d ${D}${bindir}
@@ -22,7 +22,7 @@ do_install() {
done
}
-FILES_${PN} = " \
+FILES:${PN} = " \
${bindir} \
${nonarch_base_libdir}/firmware/radio \
"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bbappend
index e29e54e44..52bee656d 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt-firmware/ti-bt-firmware_git.bbappend
@@ -3,4 +3,4 @@ do_install() {
cp *.bts ${D}${nonarch_base_libdir}/firmware/ti-connectivity/
}
-FILES_${PN} = "${nonarch_base_libdir}/firmware/ti-connectivity/*"
+FILES:${PN} = "${nonarch_base_libdir}/firmware/ti-connectivity/*"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt/ti-bt_%.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt/ti-bt_%.bbappend
index a08cb2624..55d570fc7 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt/ti-bt_%.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-bsp/ti-bt/ti-bt_%.bbappend
@@ -1,15 +1,15 @@
inherit systemd
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://ti-uim.service"
-SYSTEMD_SERVICE_${PN} = "ti-uim.service"
+SYSTEMD_SERVICE:${PN} = "ti-uim.service"
PR = "r0"
PV = "0.1+git${SRCPV}"
-do_install_append() {
+do_install:append() {
# We do not want the blacklist
rm -f ${D}/${sysconfdir}/modprobe.d/ti_bt.conf
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch
index 64c9542a3..d3a3229b4 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch
@@ -1,4 +1,4 @@
-From ce9a7a41a9f65cc8cc129cdd27e155b35b26d393 Mon Sep 17 00:00:00 2001
+From 71c2e7bc6ecf872dd3b45480859dce0f2e941b03 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
@@ -18,16 +18,18 @@ is first.
Change-Id: Ibbb1975c2383a526a54c257fb7d68d32a042d468
Signed-off-by: Matt Porter <mporter@konsulko.com>
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
+Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
---
- arch/arm64/boot/dts/renesas/r8a7795.dtsi | 10 +++++-----
- arch/arm64/boot/dts/renesas/r8a7796.dtsi | 10 +++++-----
- 2 files changed, 10 insertions(+), 10 deletions(-)
+ arch/arm64/boot/dts/renesas/r8a77951.dtsi | 10 +++++-----
+ arch/arm64/boot/dts/renesas/r8a77960.dtsi | 10 +++++-----
+ arch/arm64/boot/dts/renesas/r8a77961.dtsi | 10 +++++-----
+ 3 files changed, 15 insertions(+), 15 deletions(-)
-diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-index f7f947d27b0d..5bcc2391587d 100644
---- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
-@@ -3054,11 +3054,6 @@
+diff --git a/arch/arm64/boot/dts/renesas/r8a77951.dtsi b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+index 12e78097533e..9ead58e8a7c2 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77951.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77951.dtsi
+@@ -3943,11 +3943,6 @@ ports {
#address-cells = <1>;
#size-cells = <0>;
@@ -39,8 +41,8 @@ index f7f947d27b0d..5bcc2391587d 100644
port@1 {
reg = <1>;
du_out_hdmi0: endpoint {
-@@ -3076,6 +3071,11 @@
- du_out_lvds0: endpoint {
+@@ -3966,6 +3961,11 @@ du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
};
};
+ port@0 {
@@ -51,11 +53,11 @@ index f7f947d27b0d..5bcc2391587d 100644
};
};
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-index df26656e0f19..154ac1dd91fa 100644
---- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
-@@ -2846,11 +2846,6 @@
+diff --git a/arch/arm64/boot/dts/renesas/r8a77960.dtsi b/arch/arm64/boot/dts/renesas/r8a77960.dtsi
+index 66ab48b3a704..a5481dc4a3f1 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77960.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77960.dtsi
+@@ -3628,11 +3628,6 @@ ports {
#address-cells = <1>;
#size-cells = <0>;
@@ -67,8 +69,36 @@ index df26656e0f19..154ac1dd91fa 100644
port@1 {
reg = <1>;
du_out_hdmi0: endpoint {
-@@ -2862,6 +2857,11 @@
- du_out_lvds0: endpoint {
+@@ -3645,6 +3640,11 @@ du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
+ };
+ };
++ port@0 {
++ reg = <0>;
++ du_out_rgb: endpoint {
++ };
++ };
+ };
+ };
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
+index ef2cb77f3c32..032ef1ca0633 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi
++++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
+@@ -3434,11 +3434,6 @@ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+- port@0 {
+- reg = <0>;
+- du_out_rgb: endpoint {
+- };
+- };
+ port@1 {
+ reg = <1>;
+ du_out_hdmi0: endpoint {
+@@ -3451,6 +3446,11 @@ du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
};
};
+ port@0 {
@@ -80,5 +110,5 @@ index df26656e0f19..154ac1dd91fa 100644
};
--
-2.11.0
+2.25.1
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
deleted file mode 100644
index 92f5af88c..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-The ADSP on Renesas SoCs required a reserved memory area to become
-enabled, and this needs to be done manually.
-
-This patch adds sound hardware abstraction information for the m3ulcb
-and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the
-ADSP for dynamically determining sound hardware at runtime, allowing
-single binaries to be used between the two boards.
-
-Future work will incorporate the h3ulcb and Salvator boards into the
-abstraction.
-
-Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
-Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
----
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-index de2390f009e7..4ccfa8315d17 100644
---- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-@@ -15,6 +15,39 @@
- "renesas,r8a7796";
- };
-
-+
-+&adsp {
-+
-+ /* ADSP playback setting for pcm3168 */
-+ adsp_playback0: adsp,playback {
-+ mode = "tdm";
-+ clock-mode = "master";
-+ bus-width = <24>;
-+ ssi = <3>;
-+ bus-if = <0>;
-+ channels = <8>;
-+ pin-share-ssi = <4>;
-+ };
-+
-+ /* ADSP capture setting for pcm3168 */
-+ adsp_capture0: adsp,capture {
-+ mode = "tdm";
-+ clock-mode = "slave";
-+ bus-width = <24>;
-+ ssi = <4>;
-+ bus-if = <0>;
-+ channels = <8>;
-+ pin-share-ssi = <3>;
-+ };
-+
-+ adsp,ports {
-+ port@0 {
-+ playback = <&adsp_playback0>;
-+ capture = <&adsp_capture0>;
-+ };
-+ };
-+};
-+
- &du {
- ports {
- port@0 {
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/disable_most.cfg b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/disable_most.cfg
deleted file mode 100644
index 4179e25c2..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/disable_most.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-# CONFIG_STAGING is not set
-# CONFIG_MOST is not set
-# CONFIG_MOSTCORE is not set
-# CONFIG_AIM_CDEV is not set
-# CONFIG_AIM_NETWORK is not set
-# CONFIG_AIM_SOUND is not set
-# CONFIG_AIM_V4L2 is not set
-# CONFIG_HDM_DIM2 is not set
-
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_%.bbappend
index 1ed92af03..20682e4f0 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_%.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas_%.bbappend
@@ -1,16 +1,10 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-SRC_URI_append_ulcb = " \
+SRC_URI:append:ulcb = " \
file://0001-arm64-dts-renesas-preserve-drm-HDMI-connector-naming.patch \
- file://disable_most.cfg \
- file://0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch \
"
-SRC_URI_remove_ulcb = " \
- file://0113-arm64-dts-ulcb-kf-increase-SDIO-frequency-for-WLAN-c.patch \
-"
-
-KERNEL_DEVICETREE_remove_h3ulcb = " \
+KERNEL_DEVICETREE:remove:h3ulcb = " \
renesas/r8a7795-es1-h3ulcb-view.dtb \
renesas/r8a7795-es1-h3ulcb-had-alfa.dtb \
renesas/r8a7795-es1-h3ulcb-had-beta.dtb \
@@ -29,3 +23,7 @@ KERNEL_DEVICETREE_remove_h3ulcb = " \
renesas/r8a7795-h3ulcb-4x2g-vb2.1.dtb \
renesas/r8a7795-h3ulcb-4x2g-vbm.dtb \
"
+
+# The meta-rcar layer actives by default the configuration MTD_RENESAS_RPC_HYPERFLASH
+# in the kernel. We need to set DISABLE_RPC_ACCESS to deactivate it.
+DISABLE_RPC_ACCESS ?= "1"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf
deleted file mode 100644
index f0c47231c..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-h3ulcb_r8a7795.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-input-device-name=/dev/video16
-output-device-name=/dev/video17
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf
deleted file mode 100644
index 25a3fa1e3..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter/gstvspfilter-m3ulcb_r8a7796.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-input-device-name=/dev/video8
-output-device-name=/dev/video9
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bbappend b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bbappend
deleted file mode 100644
index e77b58e01..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-multimedia/gstreamer/gstreamer1.0-plugin-vspfilter_1.0.1.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-COMPATIBLE_MACHINE = "r8a7795|r8a7796"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
index 2c4192b98..51604706c 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
@@ -1,27 +1,23 @@
-SUMMARY = "King fisher specific gpsd config"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI = " \
- file://gpsd.kingfisher \
-"
+SRC_URI = "file://gpsd.kingfisher"
inherit update-alternatives
-RPROVIDES_${PN} += "virtual/gpsd-conf"
-
-ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher"
-ALTERNATIVE_PRIORITY[gpsd-defaults] = "20"
-
-COMPATIBLE_MACHINE = "ulcb"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
do_install() {
install -d ${D}/${sysconfdir}/default
install -m 0644 ${WORKDIR}/gpsd.kingfisher ${D}/${sysconfdir}/default/gpsd.kingfisher
}
-FILES_${PN} = "${sysconfdir}/default/gpsd.kingfisher"
-CONFFILES_${PN} = "${sysconfdir}/default/gpsd.kingfisher"
+COMPATIBLE_MACHINE = "ulcb"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES:${PN} = "${sysconfdir}/default/gpsd.kingfisher"
+
+ALTERNATIVE:${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher"
+ALTERNATIVE_PRIORITY[gpsd-defaults] = "20"
diff --git a/meta-agl-bsp/meta-rcar-gen3/include/checksum_control.inc b/meta-agl-bsp/meta-rcar-gen3/include/checksum_control.inc
new file mode 100644
index 000000000..3e2bf8f1c
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/include/checksum_control.inc
@@ -0,0 +1,25 @@
+require checksum_control_files.inc
+
+python do_checksum_control() {
+ to_check_dico = d.getVarFlags("CTL_CHECKSUM")
+ if to_check_dico is None:
+ return 0
+
+ src_uri = (d.getVar('SRC_URI') or "").split()
+ for s in src_uri:
+ c_source=os.path.basename(s)
+ bb.note("Check source: %s " % (c_source))
+ if c_source in to_check_dico:
+ f_data = bb.fetch2.FetchData(s, d, True)
+ f_data.setup_localpath(d)
+ if os.path.exists(f_data.localpath):
+ mdr5_sum=bb.utils.md5_file(f_data.localpath)
+ mdr5_ctl=to_check_dico[c_source]
+ if mdr5_sum != mdr5_ctl:
+ bb.fatal( "File %s hash should be %s but %s find, please update your driver files." % (c_source, mdr5_ctl, mdr5_sum))
+}
+
+do_checksum_control[doc] = "Do a checksum of the archives source files"
+do_checksum_control[vardeps] = "CTL_CHECKSUM"
+
+addtask do_checksum_control before do_unpack after do_fetch
diff --git a/meta-agl-bsp/meta-rcar-gen3/include/checksum_control_files.inc b/meta-agl-bsp/meta-rcar-gen3/include/checksum_control_files.inc
new file mode 100644
index 000000000..6c9f49c3b
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/include/checksum_control_files.inc
@@ -0,0 +1,16 @@
+CTL_CHECKSUM[r8a77951_linux_gsx_binaries_gles.tar.bz2]="06cc04c52f56048dbc00ead14447cb35"
+CTL_CHECKSUM[r8a77960_linux_gsx_binaries_gles.tar.bz2]="a24be039f1c294035416dbd77fa10f4a"
+CTL_CHECKSUM[GSX_KM_H3.tar.bz2]="563ff3f5d5dc8b40d19d0b6e7484bf22"
+CTL_CHECKSUM[GSX_KM_M3.tar.bz2]="7cbbffb874b30e36cc2c7751573e468b"
+CTL_CHECKSUM[RTM8RC0000ZMX0DQ00JFL3E.tar.bz2]="2ee662978a45fc7c7cf2cef0e4bf1e33"
+CTL_CHECKSUM[RTM8RC0000ZAD1LQ00JPL3E.tar.gz]="f59cb979a030a3545a6c0b2337e8ea0e"
+CTL_CHECKSUM[RTM8RC0000ZAE1LQ00JPL3E.tar.gz]="7bdfac397034e8e13425cd83e3bd5090"
+CTL_CHECKSUM[RTM8RC0000ZMD0LQ00JPL3E.tar.bz2]="8d774178a3fe5ddac0cc5bd16bc58e3e"
+CTL_CHECKSUM[RTM8RC0000ZMD1LQ00JPL3E.tar.bz2]="3f30a263a038d148b2af445bc09dc4b7"
+CTL_CHECKSUM[RTM8RC0000ZME0LQ00JPL3E.tar.bz2]="8f83d1c3947904e48316faa058c196c7"
+CTL_CHECKSUM[RTM8RC0000ZME1LQ00JPL3E.tar.bz2]="89d4ce58062ef956fa2b8ef1bd8a66f3"
+CTL_CHECKSUM[RTM8RC0000ZMX0LQ00JPL3E.tar.bz2]="035361ad4715bbb491ee23d80bc50e3a"
+CTL_CHECKSUM[RTM8RC0000ZND1LQ00JPL3E.tar.gz]="b56fa5404bdee152b557869390783eb4"
+CTL_CHECKSUM[RTM8RC0000ZNE1LQ00JPL3E.tar.gz]="63880c583eb132b868a074db3d39c8ee"
+CTL_CHECKSUM[RTM8RC0000ZNX0LQ00JPL3E.tar.gz]="53ff1eb5de6c5345bd24e8e3605eb82d"
+
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state.bbappend
index 44c2a2b99..86ab018da 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state.bbappend
@@ -1,4 +1,4 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE = "(salvator-x|m3ulcb|h3ulcb|ebisu)"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state/asound.state b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state/asound.state
index ef010821d..5779dee36 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state/asound.state
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/alsa-state/alsa-state/asound.state
@@ -1,4 +1,4 @@
-state.rcarsound {
+state.ak4613 {
control.1 {
iface MIXER
name 'Digital Playback Volume1'
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
index cdfb3cbe0..f4d086938 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
@@ -1,5 +1,9 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+# Boot Normal World in EL2: this define configures ATF (SPSR register) to boot
+# BL33 in EL2.
+EXTRA_OEMAKE += " RCAR_BL33_EXECUTION_EL=1"
-SRC_URI_append = " \
- file://0001-Boot-Normal-World-in-EL2.patch \
-"
+do_ipl_opt_deploy:prepend () {
+ # Work around bug in BSP recipe, it can fail if nothing else has
+ # happened to run first and create the directory.
+ install -d ${DEPLOY_DIR_IMAGE}
+}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
deleted file mode 100644
index 6ce9c0f9d..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-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-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-h3ulcb.txt b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-h3ulcb.txt
index a08cc7d9c..9cc3eb9d2 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-h3ulcb.txt
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-h3ulcb.txt
@@ -12,7 +12,7 @@ rootmmc=0:2
booteload_sd=ext4load mmc ${rootmmc} ${bootkaddr} boot/loader/uEnv.txt; env import -t ${bootkaddr} ${filesize}
bootkload_sd=ext4load mmc ${rootmmc} ${bootkaddr} boot/${kernel_image}
bootiload_sd=ext4load mmc ${rootmmc} ${bootiaddr} boot/${ramdisk_image}; setenv ramdisk_size ${filesize}
-bootdload_sd=fatload mmc ${bootmmc} ${bootdaddr} r8a7795-h3ulcb.dtb
+bootdload_sd=fatload mmc ${bootmmc} ${bootdaddr} r8a77951-ulcb.dtb
bootcmd=run booteload_sd; setenv bootargs ${bootargs} ${bootargs_console} ${bootargs_root} ${bootargs_extra}; run bootkload_sd; run bootiload_sd; run bootdload_sd; booti ${bootkaddr} ${bootiaddr}:${ramdisk_size} ${bootdaddr}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-m3ulcb.txt b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-m3ulcb.txt
index 979014a28..145f82eae 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-m3ulcb.txt
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/files/uEnv-ota-m3ulcb.txt
@@ -12,7 +12,7 @@ rootmmc=0:2
booteload_sd=ext4load mmc ${rootmmc} ${bootkaddr} boot/loader/uEnv.txt; env import -t ${bootkaddr} ${filesize}
bootkload_sd=ext4load mmc ${rootmmc} ${bootkaddr} boot/${kernel_image}
bootiload_sd=ext4load mmc ${rootmmc} ${bootiaddr} boot/${ramdisk_image}; setenv ramdisk_size ${filesize}
-bootdload_sd=fatload mmc ${bootmmc} ${bootdaddr} r8a7796-m3ulcb.dtb
+bootdload_sd=fatload mmc ${bootmmc} ${bootdaddr} r8a77960-ulcb.dtb
bootcmd=run booteload_sd; setenv bootargs ${bootargs} ${bootargs_console} ${bootargs_root} ${bootargs_extra}; run bootkload_sd; run bootiload_sd; run bootdload_sd; booti ${bootkaddr} ${bootiaddr}:${ramdisk_size} ${bootdaddr}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
index 4007e7f96..d46f4d885 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
@@ -8,15 +8,15 @@ COMPATIBLE_MACHINE = "(salvator-x|m3ulcb|h3ulcb|ebisu)"
S = "${WORKDIR}"
-SRC_URI_append_sota = "file://uEnv-ota-m3ulcb.txt \
- file://uEnv-ota-h3ulcb.txt \
- file://uEnv-ota-h3-salvator-xs \
- file://uEnv-ota-m3-salvator-xs"
+SRC_URI:append:sota = " file://uEnv-ota-m3ulcb.txt \
+ file://uEnv-ota-h3ulcb.txt \
+ file://uEnv-ota-h3-salvator-xs \
+ file://uEnv-ota-m3-salvator-xs"
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
}
-do_deploy_append_sota() {
+do_deploy:append:sota() {
install -m 0755 ${WORKDIR}/uEnv-ota-${BOARD_NAME}.txt ${DEPLOYDIR}/${PN}/uEnv.txt
}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch
new file mode 100644
index 000000000..7627a0660
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples/0001-secure_storage-ta-Add-a-missing-include-file.patch
@@ -0,0 +1,29 @@
+From be7079678aeb1503e0f681d977c47c44fd7b4f8c Mon Sep 17 00:00:00 2001
+From: Pierre Marzin <pierre.marzin@iot.bzh>
+Date: Mon, 19 Aug 2019 09:33:17 +0000
+Subject: [PATCH] secure_storage: ta: Add a missing include file
+
+The commit 9890a50d3c26b377dcb27f5db680018e15a5a3de fix a size type by
+using a format macro contant 'PRIu32' into a printf. This needs the
+inttypes.h header file to build correctly with aarch64-linux-gnu-gcc.
+
+Signed-off-by: Pierre Marzin <pierre.marzin@iot.bzh>
+---
+ secure_storage/ta/secure_storage_ta.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/secure_storage/ta/secure_storage_ta.c b/secure_storage/ta/secure_storage_ta.c
+index 3ccc12d..cfdfbb6 100644
+--- a/secure_storage/ta/secure_storage_ta.c
++++ b/secure_storage/ta/secure_storage_ta.c
+@@ -28,6 +28,7 @@
+ #include <secure_storage_ta.h>
+ #include <tee_internal_api.h>
+ #include <tee_internal_api_extensions.h>
++#include <inttypes.h>
+
+ static TEE_Result delete_object(uint32_t param_types, TEE_Param params[4])
+ {
+--
+2.11.0
+
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb
new file mode 100644
index 000000000..7ff677c80
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-examples_git.bb
@@ -0,0 +1,61 @@
+SUMMARY = "OP-TEE examples"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
+
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit python3native
+
+PV = "3.6.0+git${SRCPV}"
+
+SRCREV = "292da2fd8db0176e0e96989268c63ef9ab910a6c"
+
+SRC_URI = " \
+ git://github.com/linaro-swg/optee_examples;branch=master;name=master;protocol=https \
+ file://0001-secure_storage-ta-Add-a-missing-include-file.patch \
+"
+
+COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)"
+PLATFORM = "rcar"
+
+DEPENDS = "optee-os optee-client python-pycrypto-native"
+
+CFLAGS += "-Wno-extra -Wno-error=format"
+TARGET_CFLAGS += "-Wno-extra -Wno-error=format"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+INSANE_SKIP:${PN} = "ldflags"
+
+TA_DEV_KIT_DIR = "${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_TARGET}/usr"
+
+TEEC_EXPORT = "${STAGING_DIR_TARGET}/usr"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "\
+ TEEC_EXPORT=${TEEC_EXPORT} \
+ OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+ TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+ HOST_CROSS_COMPILE=${TARGET_PREFIX} \
+ TA_CROSS_COMPILE=${TARGET_PREFIX} \
+ PLATFORM=${PLATFORM} \
+ V=1 \
+ "
+
+do_compile() {
+ oe_runmake
+}
+
+do_install () {
+ mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
+ mkdir -p ${D}${bindir}
+ install -D -p -m0755 ${S}/out/ca/* ${D}${bindir}
+ install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz
+ mkdir -p ${D}${includedir}
+ cp ${S}/hello_world/ta/include/* ${D}${includedir}
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend
new file mode 100644
index 000000000..52a68e174
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend
@@ -0,0 +1,7 @@
+do_install() {
+ install -d ${D}/usr/share/optee
+ cp -r ${S}/out/arm-plat-${PLATFORM}/export-ta_arm64 ${D}/usr/share/optee
+}
+
+FILES:${PN}-staticdev += "${datadir}/optee/export-ta_arm64/lib/*.a"
+FILES:${PN}-dev += "${datadir}/optee/export-ta_arm64"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff
new file mode 100644
index 000000000..5067086f1
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test/optee_xtest_fix.diff
@@ -0,0 +1,13 @@
+diff --git a/host/xtest/regression_6000.c b/host/xtest/regression_6000.c
+index 336ea14..2379e43 100644
+--- a/host/xtest/regression_6000.c
++++ b/host/xtest/regression_6000.c
+@@ -82,6 +82,8 @@ static uint32_t fs_id_for_tee_storage_private(void)
+ return TEE_STORAGE_PRIVATE_REE;
+ #elif defined(CFG_RPMB_FS)
+ return TEE_STORAGE_PRIVATE_RPMB;
++#else
++ return TEE_STORAGE_PRIVATE;
+ #endif
+ }
+
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb
new file mode 100644
index 000000000..b66f0676e
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-test_git.bb
@@ -0,0 +1,55 @@
+DESCRIPTION = "OP-TEE TEST"
+
+LICENSE = "GPL-2.0-only & BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://${S}/host/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit python3native
+
+PV = "3.1.0+git${SRCPV}"
+
+SRCREV = "45218eb59b006ad20cc7610904f291dd85157a43"
+
+SRC_URI = " \
+ git://github.com/OP-TEE/optee_test.git;branch=master;name=master;protocol=https \
+ file://optee_xtest_fix.diff \
+"
+
+COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)"
+PLATFORM = "rcar"
+
+DEPENDS = "optee-os optee-client python3-pycrypto-native"
+
+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"
+
+CFLAGS += "-Wno-extra -Wno-error=stringop-overflow -Wno-error=array-bounds"
+TARGET_CFLAGS += "-Wno-extra -Wno-error=stringop-overflow -Wno-error=array-bounds"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+INSANE_SKIP:${PN} = "ldflags"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_compile() {
+ oe_runmake CROSS_COMPILE=${CROSS_COMPILE64} PLATFORM=${PLATFORM} OPTEE_CLIENT_EXPORT=${STAGING_DIR_TARGET}/usr --no-builtin-variables TA_DEV_KIT_DIR="${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64"
+}
+
+do_install () {
+ install -D -p -m0755 ${S}/out/xtest/xtest ${D}${bindir}/xtest
+
+ # install path should match the value set in optee-client/tee-supplicant
+ # default TEEC_LOAD_PATH is /lib
+ mkdir -p ${D}${nonarch_base_libdir}/optee_armtz/
+ install -D -p -m0444 ${S}/out/ta/*/*.ta ${D}${nonarch_base_libdir}/optee_armtz/
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb
new file mode 100644
index 000000000..2b93af710
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-user-app-template_git.bb
@@ -0,0 +1,57 @@
+SUMMARY = "OP-TEE user_app_template"
+
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=cd95ab417e23b94f381dafc453d70c30"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+inherit python3native
+
+PV = "0.1+git${SRCPV}"
+
+SRCREV = "0.1"
+
+SRC_URI = " \
+ git://github.com/iotbzh/optee_user_app_template;branch=master;protocol=https \
+"
+
+COMPATIBLE_MACHINE = "(salvator-x|h3ulcb|m3ulcb|m3nulcb|ebisu)"
+PLATFORM = "rcar"
+
+DEPENDS = "optee-os optee-client python-pycrypto-native"
+
+CFLAGS += "-Wno-extra -Wno-error=format"
+TARGET_CFLAGS += "-Wno-extra -Wno-error=format"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+INSANE_SKIP:${PN} = "ldflags"
+
+TA_DEV_KIT_DIR = "${STAGING_DIR_TARGET}/usr/share/optee/export-ta_arm64"
+
+OPTEE_CLIENT_EXPORT = "${STAGING_DIR_TARGET}/usr"
+
+TEEC_EXPORT = "${STAGING_DIR_TARGET}/usr"
+
+S = "${WORKDIR}/git"
+EXTRA_OEMAKE = "\
+ TEEC_EXPORT=${TEEC_EXPORT} \
+ OPTEE_CLIENT_EXPORT=${OPTEE_CLIENT_EXPORT} \
+ TA_DEV_KIT_DIR=${TA_DEV_KIT_DIR} \
+ HOST_CROSS_COMPILE=${TARGET_PREFIX} \
+ TA_CROSS_COMPILE=${TARGET_PREFIX} \
+ PLATFORM=${PLATFORM} \
+ V=1 \
+ "
+
+do_compile() {
+ oe_runmake
+}
+
+do_install () {
+ mkdir -p ${D}${nonarch_base_libdir}/optee_armtz
+ mkdir -p ${D}${bindir}
+ install -D -p -m0755 ${S}/out/ca/* ${D}${bindir}
+ install -D -p -m0444 ${S}/out/ta/* ${D}${nonarch_base_libdir}/optee_armtz
+}
+
+FILES:${PN} += "${nonarch_base_libdir}/optee_armtz/"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control.inc
new file mode 120000
index 000000000..8c7e36ff9
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control.inc
@@ -0,0 +1 @@
+../../include/checksum_control.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control_files.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control_files.inc
new file mode 120000
index 000000000..ff4e9a898
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/checksum_control_files.inc
@@ -0,0 +1 @@
+../../include/checksum_control_files.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend
new file mode 100644
index 000000000..8f2d47adc
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend
@@ -0,0 +1,3 @@
+require checksum_control.inc
+
+RDEPENDS:${PN}:append = " wayland-wsegl"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/virtual-gles-user-module/virtual-gles-user-module.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/virtual-gles-user-module/virtual-gles-user-module.bb
index a477e1c3c..76d3ea88f 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/virtual-gles-user-module/virtual-gles-user-module.bb
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/virtual-gles-user-module/virtual-gles-user-module.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Virtual gles-module"
-LICENSE="GPLv2"
+LICENSE="GPL-2.0-only"
DEPENDS = "gles-user-module wayland-kms libgbm"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/wayland-wsegl.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/wayland-wsegl.bbappend
new file mode 100644
index 000000000..9a0eb73a3
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/wayland-wsegl.bbappend
@@ -0,0 +1 @@
+DEPENDS:append = " wayland-protocols"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend
index 44615c331..4a76dda04 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston-ini-conf.bbappend
@@ -1,12 +1,15 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend:rcar-gen3 := "${THISDIR}/${PN}:"
-SRC_URI_append_ulcb = " file://kingfisher_output.cfg"
-SRC_URI_append_ebisu = " file://ebisu_output.cfg"
-SRC_URI_append_salvator-x = " file://salvator-x_output.cfg"
+SRC_URI:append:rcar-gen3 = " \
+ file://kingfisher_output.cfg \
+ file://ebisu_output.cfg \
+ file://salvator-x_output.cfg \
+"
-do_configure() {
- echo repaint-window=34 >> ${WORKDIR}/core.cfg
+WESTON_FRAGMENTS:append:ulcb = " kingfisher_output"
+WESTON_FRAGMENTS:append:ebisu = " ebisu_output"
+WESTON_FRAGMENTS:append:salvator-x = " salvator-x_output"
- echo transition-duration=300 >> ${WORKDIR}/ivishell.cfg
- echo cursor-theme=default >> ${WORKDIR}/ivishell.cfg
+do_configure:append:rcar-gen3() {
+ echo repaint-window=34 >> ${WORKDIR}/core.cfg
}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644
index 6ce747270..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-DEPENDS_append_rcar-gen3 = " gstreamer1.0-plugins-base"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control.inc
new file mode 120000
index 000000000..8c7e36ff9
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control.inc
@@ -0,0 +1 @@
+../../include/checksum_control.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control_files.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control_files.inc
new file mode 120000
index 000000000..ff4e9a898
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/checksum_control_files.inc
@@ -0,0 +1 @@
+../../include/checksum_control_files.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
index 8a4176fc1..b8882ae49 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
@@ -1,4 +1,6 @@
-module_do_compile_prepend() {
+require checksum_control.inc
+
+module_do_compile:prepend() {
cd ${S}/build/linux/config/compilers
- cp aarch64-poky-linux.mk ${TARGET_SYS}.mk
+ cp aarch64-linux-gnu.mk ${TARGET_SYS}.mk
}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
index 5262a9c5d..98b8e92c3 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
@@ -1,2 +1,2 @@
-KERNEL_MODULE_AUTOLOAD_append = " mmngr"
+KERNEL_MODULE_AUTOLOAD:append = " mmngr"
KERNEL_MODULE_PACKAGE_SUFFIX = ""
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
index 6b935b09e..fbff56fff 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
@@ -1,2 +1,2 @@
-KERNEL_MODULE_AUTOLOAD_append = " mmngrbuf"
+KERNEL_MODULE_AUTOLOAD:append = " mmngrbuf"
KERNEL_MODULE_PACKAGE_SUFFIX = ""
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control.inc
new file mode 120000
index 000000000..8c7e36ff9
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control.inc
@@ -0,0 +1 @@
+../../include/checksum_control.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control_files.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control_files.inc
new file mode 120000
index 000000000..ff4e9a898
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/checksum_control_files.inc
@@ -0,0 +1 @@
+../../include/checksum_control_files.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
index f1450747e..1fa00a859 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
@@ -1 +1,3 @@
+require checksum_control.inc
+
KERNEL_MODULE_AUTOLOAD = "uvcs_drv"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend
new file mode 100644
index 000000000..5efe01045
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend
@@ -0,0 +1,2 @@
+KERNEL_MODULE_AUTOLOAD:append = " vspm_if"
+KERNEL_MODULE_PACKAGE_SUFFIX = ""
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend
deleted file mode 100644
index 379797248..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-KERNEL_MODULE_AUTOLOAD_append = " vspm_if"
-KERNEL_MODULE_PACKAGE_SUFFIX = ""
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch
index e8ea125e9..9c7f01b26 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/0004-ADSP-enable-and-add-sound-hardware-abstraction.patch
@@ -1,10 +1,13 @@
-The ADSP on Renesas SoCs required a reserved memory area to become
-enabled, and this needs to be done manually.
+From 274657edb779d77ad0fe5ccb52b51634d075adf8 Mon Sep 17 00:00:00 2001
+From: invalid_git config <unknown@unknown>
+Date: Wed, 6 Oct 2021 14:42:47 +0000
+Subject: [PATCH 2/2] The ADSP on Renesas SoCs required a reserved memory area
+ to become enabled, and this needs to be done manually.
This patch adds sound hardware abstraction information for the m3ulcb
and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the
ADSP for dynamically determining sound hardware at runtime, allowing
-single binaries to be used between the two boards.
+single binaries to be used between the two boards.
Future work will incorporate the h3ulcb and Salvator boards into the
abstraction.
@@ -12,11 +15,15 @@ abstraction.
Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
---
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
-index 1cd64c1b3b31..71e59da3528d 100644
---- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
-+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb.dts
-@@ -42,11 +42,18 @@
+ arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts | 45 ++++++++++++++++++-
+ arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts | 45 ++++++++++++++++++-
+ 2 files changed, 88 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts b/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts
+index fbc8c9af6e52..df3bd589d9bb 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts
++++ b/arch/arm64/boot/dts/renesas/r8a77960-ulcb.dts
+@@ -62,11 +62,18 @@ lossy_decompress: linux,lossy_decompress@54000000 {
reg = <0x00000000 0x54000000 0x0 0x03000000>;
};
@@ -36,7 +43,7 @@ index 1cd64c1b3b31..71e59da3528d 100644
linux,cma-default;
};
-@@ -110,6 +117,42 @@
+@@ -126,6 +133,42 @@ &du {
"dclkin.0", "dclkin.1", "dclkin.2";
};
@@ -79,3 +86,73 @@ index 1cd64c1b3b31..71e59da3528d 100644
&vspb {
status = "okay";
};
+diff --git a/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts b/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts
+index e57dd7bb43f7..f583cc6c18bf 100644
+--- a/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts
++++ b/arch/arm64/boot/dts/renesas/r8a77961-ulcb.dts
+@@ -41,11 +41,18 @@ lossy_decompress: linux,lossy_decompress@54000000 {
+ 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@57000000 {
+ compatible = "shared-dma-pool";
+ reusable;
+- reg = <0x00000000 0x57000000 0x0 0x19000000>;
++ reg = <0x00000000 0x58000000 0x0 0x18000000>;
+ linux,cma-default;
+ };
+
+@@ -89,6 +96,42 @@ &du {
+ "dclkin.0", "dclkin.1", "dclkin.2";
+ };
+
++&adsp {
++ status = "okay";
++ clock-frequency = <12288000 11289600>;
++ audio-clocks = <22579200 24576000>;
++ memory-region = <&adsp_reserved>;
++
++ /* ADSP playback setting for ak4613 */
++ adsp_playback0: adsp,playback {
++ mode = "i2s";
++ clock-mode = "master";
++ bus-width = <16>;
++ ssi = <0>;
++ bus-if = <0>;
++ channels = <2>;
++ pin-share-ssi = <1>;
++ };
++
++ /* ADSP capture setting for ak4613 */
++ adsp_capture0: adsp,capture {
++ mode = "i2s";
++ clock-mode = "slave";
++ bus-width = <16>;
++ ssi = <1>;
++ bus-if = <0>;
++ channels = <2>;
++ pin-share-ssi = <0>;
++ };
++
++ adsp,ports {
++ port@0 {
++ playback = <&adsp_playback0>;
++ capture = <&adsp_capture0>;
++ };
++ };
++};
++
+ &vspb {
+ status = "okay";
+ };
+--
+2.31.1
+
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/Set_GOV_PERFORMANCE.cfg b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/Set_GOV_PERFORMANCE.cfg
new file mode 100644
index 000000000..b020174e8
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/Set_GOV_PERFORMANCE.cfg
@@ -0,0 +1,2 @@
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a7796-m3ulcb-xen.dts b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a77960-ulcb-xen.dts
index 7940b1027..6947a62c2 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a7796-m3ulcb-xen.dts
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/r8a77960-ulcb-xen.dts
@@ -7,7 +7,7 @@
*/
/dts-v1/;
-#include "r8a7796.dtsi"
+#include "r8a77960.dtsi"
#include "ulcb.dtsi"
/ {
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/vivid.cfg b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/vivid.cfg
new file mode 100644
index 000000000..3c3574346
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/files/vivid.cfg
@@ -0,0 +1,6 @@
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
+CONFIG_MEDIA_TEST_SUPPORT=y
+CONFIG_VIDEO_V4L2_TPG=m
+CONFIG_VIDEO_VIVID=m
+CONFIG_VIDEO_VIVID_MAX_DEVS=64
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_%.bbappend
index 6db5af3a5..78996bf0a 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_%.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_%.bbappend
@@ -1,22 +1,24 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-require recipes-kernel/linux/linux-agl.inc
-
-SRC_URI_append = " file://namespace_fix.cfg \
- "
+require recipes-kernel/linux/linux-yocto-agl.inc
# Add ADSP patch to enable and add sound hardware abstraction
-SRC_URI_append_ulcb = " \
+SRC_URI:append = " \
file://0004-ADSP-enable-and-add-sound-hardware-abstraction.patch \
"
+AGL_KCONFIG_FRAGMENTS += "namespace_fix.cfg"
+AGL_KCONFIG_FRAGMENTS += "Set_GOV_PERFORMANCE.cfg"
+AGL_KCONFIG_FRAGMENTS += "vivid.cfg"
+
# For Xen
-SRC_URI_append = " \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','file://xen-be.cfg','',d)} \
+AGL_KCONFIG_FRAGMENTS += " \
+ ${@bb.utils.contains('AGL_XEN_WANTED','1','xen-be.cfg','',d)} \
+"
+
+SRC_URI:append:m3ulcb = " \
+ ${@bb.utils.contains('AGL_XEN_WANTED','1','file://r8a77960-ulcb-xen.dts;subdir=git/arch/${ARCH}/boot/dts/renesas','',d)} \
"
-SRC_URI_append_m3ulcb = " \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','file://r8a7796-m3ulcb-xen.dts;subdir=git/arch/${ARCH}/boot/dts/renesas','',d)} \
+KERNEL_DEVICETREE:append:m3ulcb = " \
+ ${@bb.utils.contains('AGL_XEN_WANTED','1','renesas/r8a77960-ulcb-xen.dtb','',d)} \
"
-KERNEL_DEVICETREE_append_m3ulcb = " \
- ${@bb.utils.contains('AGL_XEN_WANTED','1','renesas/r8a7796-m3ulcb-xen.dtb','',d)} \
-" \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bbappend
deleted file mode 100644
index c1e9ce127..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/linux/linux-renesas_4.14.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-require recipes-kernel/linux/linux-agl-4.14.inc
-
-
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend
new file mode 100644
index 000000000..eee123cf4
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend
@@ -0,0 +1,5 @@
+# Enable here for now due to meta-rcar-gen3 bbappends being masked
+# out, can be removed once gstreamer 1.22.x is properly supported
+# there.
+EXTRA_OECONF += "--enable-kms"
+PACKAGECONFIG:append = " kms"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend
new file mode 100644
index 000000000..9d3f5c670
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend
@@ -0,0 +1,11 @@
+do_install:append() {
+ # Add a rule to ensure the 'video' user has permission to access
+ install -d ${D}${sysconfdir}/udev/rules.d
+ cat >${D}${sysconfdir}/udev/rules.d/56-rgnmm.rules <<'EOF'
+KERNEL=="rgnmm", MODE="0660", GROUP="video"
+EOF
+}
+
+FILES:${PN}:append = " \
+ ${sysconfdir}/udev/rules.d/*.rules \
+"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend
new file mode 100644
index 000000000..640e52651
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend
@@ -0,0 +1,11 @@
+do_install:append() {
+ # Add a rule to ensure the 'video' group has permission to access
+ install -d ${D}${sysconfdir}/udev/rules.d
+ cat >${D}${sysconfdir}/udev/rules.d/56-rgnmmbuf.rules <<'EOF'
+KERNEL=="rgnmmbuf", MODE="0660", GROUP="video"
+EOF
+}
+
+FILES:${PN}:append = " \
+ ${sysconfdir}/udev/rules.d/*.rules \
+"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control.inc
new file mode 120000
index 000000000..8c7e36ff9
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control.inc
@@ -0,0 +1 @@
+../../include/checksum_control.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control_files.inc b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control_files.inc
new file mode 120000
index 000000000..ff4e9a898
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/checksum_control_files.inc
@@ -0,0 +1 @@
+../../include/checksum_control_files.inc \ No newline at end of file
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bbappend
index b35c614c3..a712aaa95 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bbappend
@@ -1,3 +1,7 @@
+require checksum_control.inc
+
+PROVIDES += "virtual/libomxil"
+
setup_build_tree() {
for omxmc in ${OMX_COMMON_SRC} ${OMX_VIDEO_DEC_COMMON_SRC} ${OMX_VIDEO_ENC_COMMON_SRC}
do
diff --git a/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh b/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh
index ae299623f..3e8a2f242 100644
--- a/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh
+++ b/meta-agl-bsp/meta-rcar-gen3/scripts/setup_mm_packages.sh
@@ -1,9 +1,9 @@
#!/bin/bash
-ZIP_1="R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-weston8-20191206.zip"
-ZIP_2="R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-weston8-20191021.zip"
+ZIP_1="R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20220121.zip"
+ZIP_2="R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20220121.zip"
-COPY_SCRIPT="$METADIR/bsp/meta-renesas-rcar-gen3/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh"
+COPY_SCRIPT="$METADIR/bsp/meta-renesas/meta-rcar-gen3/docs/sample/copyscript/copy_evaproprietary_softwares.sh"
test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
DOWNLOAD_DIR=${XDG_DOWNLOAD_DIR:-$HOME/Downloads}
@@ -50,17 +50,20 @@ function copy_mm_packages() {
fi
rm -r $EXTRACT_DIR
fi
-
if [ -f $DOWNLOAD_DIR/$ZIP_1 -a -f $DOWNLOAD_DIR/$ZIP_2 ]; then
mkdir -p $EXTRACT_DIR
cp --update $DOWNLOAD_DIR/$ZIP_1 $EXTRACT_DIR
cp --update $DOWNLOAD_DIR/$ZIP_2 $EXTRACT_DIR
+ cd $EXTRACT_DIR
+ unzip -o $ZIP_1
+ unzip -o $ZIP_2
+ cd -
else
error "ERROR: FILES \""+$DOWNLOAD_DIR/$ZIP_1+"\" NOT EXTRACTING CORRECTLY"
error "ERROR: FILES \""+$DOWNLOAD_DIR/$ZIP_2+"\" NOT EXTRACTING CORRECTLY"
log "The graphics and multimedia acceleration packages for "
log "the R-Car Gen3 board BSP can be downloaded from:"
- log "<https://www.renesas.com/us/en/solutions/automotive/rcar-download/rcar-demoboard-2.html>"
+ log "<https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-documents-software>"
log
error "These 2 files from there should be stored in your"
error "'$DOWNLOAD_DIR' directory."
@@ -70,7 +73,7 @@ function copy_mm_packages() {
fi
if [ -f $COPY_SCRIPT ]; then
- cd $METADIR/bsp/meta-renesas-rcar-gen3/
+ cd $METADIR/bsp/meta-renesas/
$COPY_SCRIPT -d -f $EXTRACT_DIR
cd ..
else
@@ -78,3 +81,4 @@ function copy_mm_packages() {
return 1
fi
}
+
diff --git a/meta-agl-bsp/meta-sancloud/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-sancloud/recipes-graphics/wayland/weston-ini-conf.bbappend
index e737b540a..097d8646c 100644
--- a/meta-agl-bsp/meta-sancloud/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ b/meta-agl-bsp/meta-sancloud/recipes-graphics/wayland/weston-ini-conf.bbappend
@@ -1,6 +1,3 @@
-do_configure_append_bbe() {
+do_configure:append:bbe() {
echo 'gbm-format=rgb565' >> ${WORKDIR}/core.cfg
- if [[ -e "${WORKDIR}/hdmi-a-1-270.cfg" ]]; then
- echo 'mode=1280x720' >> ${WORKDIR}/hdmi-a-1-270.cfg
- fi
}
diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg
new file mode 100644
index 000000000..09a117919
--- /dev/null
+++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg
@@ -0,0 +1 @@
+# CONFIG_RELAY is not set
diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
index 6c15b1661..803d4a995 100644
--- a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
+++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
@@ -1,5 +1,6 @@
require recipes-kernel/linux/linux-agl.inc
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-SRC_URI += "file://cma-256.cfg"
+AGL_KCONFIG_FRAGMENTS += "cma-256.cfg"
+AGL_KCONFIG_FRAGMENTS += "disable-relay.cfg"
diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch
new file mode 100644
index 000000000..7fce516f0
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch
@@ -0,0 +1,46 @@
+From 57575ce80a96411bce828be6fc84ebd2ed003810 Mon Sep 17 00:00:00 2001
+From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+Date: Tue, 12 Sep 2023 22:50:28 +0200
+Subject: [PATCH] [WIP] Make BSP work under YP kirkstone
+
+This fixes build issues when using the layer with YP 'kirkstone' branch.
+
+check-config.sh can be solved differently as well.
+binman/control.py needs a little investigation
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+---
+ scripts/check-config.sh | 2 +-
+ tools/binman/control.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/check-config.sh b/scripts/check-config.sh
+index cc1c9a54d9..633c69eb76 100755
+--- a/scripts/check-config.sh
++++ b/scripts/check-config.sh
+@@ -57,7 +57,7 @@ if [ -s ${new_adhoc} ]; then
+ echo >&2 "Please add these via Kconfig instead. Find a suitable Kconfig"
+ echo >&2 "file and add a 'config' or 'menuconfig' option."
+ # Don't delete the temporary files in case they are useful
+- exit 1
++ exit 0
+ else
+ rm ${suspects} ${ok} ${new_adhoc}
+ fi
+diff --git a/tools/binman/control.py b/tools/binman/control.py
+index 47aac207b4..3d013dea17 100644
+--- a/tools/binman/control.py
++++ b/tools/binman/control.py
+@@ -8,7 +8,7 @@
+ from collections import OrderedDict
+ import glob
+ import os
+-import pkg_resources
++#import pkg_resources
+ import re
+
+ import sys
+--
+2.35.3
+
diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend
new file mode 100644
index 000000000..30bf957cf
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI:append = " file://0001-WIP-Make-BSP-work-under-YP-kirkstone.patch "
diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg
new file mode 100644
index 000000000..fd25fdd56
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg
@@ -0,0 +1,19 @@
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_SMBUS=y
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_DRM_BUDDY=m
+CONFIG_DRM_SCHED=m
+CONFIG_DRM_AMDGPU=m
+CONFIG_DRM_AMD_DC=y
+CONFIG_FB_DDC=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_RADEON=y
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_RTC_I2C_AND_SPI=y \ No newline at end of file
diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend
new file mode 100644
index 000000000..d951b33ba
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend
@@ -0,0 +1,6 @@
+require recipes-kernel/linux/linux-agl.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+# enable AMDgpu
+AGL_KCONFIG_FRAGMENTS += "radeon.cfg"
diff --git a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux/linux-arc_%.bbappend b/meta-agl-bsp/meta-synopsys/recipes-kernel/linux/linux-arc_%.bbappend
deleted file mode 100644
index 88ac94b15..000000000
--- a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux/linux-arc_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require recipes-kernel/linux/linux-agl.inc
diff --git a/meta-agl-bsp/meta-ti/.gitkeep b/meta-agl-bsp/meta-ti-bsp/.gitkeep
index e69de29bb..e69de29bb 100644
--- a/meta-agl-bsp/meta-ti/.gitkeep
+++ b/meta-agl-bsp/meta-ti-bsp/.gitkeep
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend
index 1fc5130f0..1fc5130f0 100644
--- a/meta-agl-bsp/meta-ti/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/cm3-pm-firmware/amx3-cm3_git.bbappend
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend
new file mode 100644
index 000000000..08e684609
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend
@@ -0,0 +1 @@
+PR = "sgxrgx0"
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 000000000..be4ee237b
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-fix.inc', '', d)}
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc
new file mode 100644
index 000000000..82fda6896
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc
@@ -0,0 +1 @@
+SRC_URI:remove = "file://0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch"
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend
new file mode 100644
index 000000000..07ba7d4d1
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend
@@ -0,0 +1,2 @@
+require recipes-kernel/linux/linux-agl-config.inc
+
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_%.bbappend
new file mode 100644
index 000000000..07ba7d4d1
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-ti-staging_%.bbappend
@@ -0,0 +1,2 @@
+require recipes-kernel/linux/linux-agl-config.inc
+
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-Add-soc-performance-monitor-utilites.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-Add-soc-performance-monitor-utilites.patch
deleted file mode 100644
index 4268b7dc2..000000000
--- a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0001-Add-soc-performance-monitor-utilites.patch
+++ /dev/null
@@ -1,3570 +0,0 @@
-From 7830118ecb980766f4a6e3997769d7ae326bee77 Mon Sep 17 00:00:00 2001
-From: Karthik Ramanan <a0393906@ti.com>
-Date: Fri, 3 Jun 2016 18:32:50 +0530
-Subject: [PATCH] Add soc performance monitor utilites
-
-Signed-off-by: Karthik Ramanan <a0393906@ti.com>
----
- Makefile.am | 17 +-
- clients/Dra7xx_ddrstat_speed.c | 494 +++++++++++++
- clients/soc_performance_monitor.c | 630 ++++++++++++++++
- clients/soc_performance_monitor.h | 40 ++
- clients/statcoll.c | 1433 +++++++++++++++++++++++++++++++++++++
- clients/statcoll.h | 152 ++++
- clients/statcoll_gui.h | 101 +++
- clients/time_bar_graph.c | 515 +++++++++++++
- clients/time_bar_graph.h | 93 +++
- 10 files changed, 4873 insertions(+), 1 deletion(-)
- create mode 100644 clients/Dra7xx_ddrstat_speed.c
- create mode 100644 clients/soc_performance_monitor.c
- create mode 100644 clients/soc_performance_monitor.h
- create mode 100644 clients/statcoll.c
- create mode 100644 clients/statcoll.h
- create mode 100644 clients/statcoll_gui.h
- create mode 100644 clients/time_bar_graph.c
- create mode 100644 clients/time_bar_graph.h
-
-diff --git a/Makefile.am b/Makefile.am
-index 62719c9..55aed6d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -432,7 +432,9 @@ demo_clients = \
- weston-fullscreen \
- weston-stacking \
- weston-calibrator \
-- weston-scaler
-+ weston-scaler \
-+ soc-performance-monitor \
-+ soc-ddr-bw-visualizer
-
- if INSTALL_DEMO_CLIENTS
- bin_PROGRAMS += $(demo_clients)
-@@ -570,6 +572,19 @@ weston_image_SOURCES = clients/image.c
- weston_image_LDADD = libtoytoolkit.la
- weston_image_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
-
-+noinst_LTLIBRARIES += libtimebargraph.la
-+libtimebargraph_la_SOURCES = clients/time_bar_graph.c clients/time_bar_graph.h
-+libtimebargraph_la_LIBADD = libtoytoolkit.la
-+libtimebargraph_la_CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS) $(CAIRO_CFLAGS) $(CAIRO_EGL_CFLAGS)
-+
-+soc_performance_monitor_SOURCES = clients/soc_performance_monitor.c clients/soc_performance_monitor.h
-+soc_performance_monitor_LDADD = libtoytoolkit.la libtimebargraph.la
-+soc_performance__CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
-+
-+soc_ddr_bw_visualizer_SOURCES = clients/statcoll.c clients/Dra7xx_ddrstat_speed.c clients/statcoll.h clients/statcoll_gui.h
-+soc_ddr_bw_visualizer_LDADD = libtoytoolkit.la libtimebargraph.la
-+soc_ddr_bw_visualizer__CFLAGS = $(AM_CFLAGS) $(CLIENT_CFLAGS)
-+
- weston_cliptest_SOURCES = \
- clients/cliptest.c \
- src/vertex-clipping.c \
-diff --git a/clients/Dra7xx_ddrstat_speed.c b/clients/Dra7xx_ddrstat_speed.c
-new file mode 100644
-index 0000000..af06733
---- /dev/null
-+++ b/clients/Dra7xx_ddrstat_speed.c
-@@ -0,0 +1,494 @@
-+/*
-+ * Copyright (C) 2015 Texas Instruments
-+ * Author: Karthik Ramanan <karthik.ramanan@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * This program 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 General Public License along with
-+ * this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <stdint.h>
-+#include <string.h>
-+#include <sys/mman.h>
-+#include <sys/time.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include "statcoll.h"
-+
-+#define PAGE_SIZE 4096
-+
-+#define EMIF1_BASE 0x4c000000
-+#define EMIF2_BASE 0x4d000000
-+
-+#define EMIF_PERF_CNT_1 0x80
-+#define EMIF_PERF_CNT_2 0x84
-+#define EMIF_PERF_CNT_CFG 0x88
-+#define EMIF_PERF_CNT_TIM 0x90
-+
-+static unsigned
-+tv_diff(struct timeval *tv1, struct timeval *tv2)
-+{
-+ return (tv2->tv_sec - tv1->tv_sec) * 1000000 +
-+ (tv2->tv_usec - tv1->tv_usec);
-+}
-+
-+
-+struct emif_perf {
-+ int code;
-+ const char *name;
-+};
-+
-+static const struct emif_perf emif_perf_tab[] = {
-+ { 0, "access" },
-+ { 1, "activate" },
-+ { 2, "read" },
-+ { 3, "write" },
-+ { 4, "fifo_cmd" },
-+ { 5, "fifo_write" },
-+ { 6, "fifo_read" },
-+ { 7, "fifo_ret" },
-+ { 8, "prio" },
-+ { 9, "cmd_pend" },
-+ { 10, "data" },
-+};
-+
-+static void *emif1, *emif2;
-+static int BANDWIDTH=0;
-+static int DELAY = 1;
-+static int EMIF_PERF_CFG1 = 9;
-+static int EMIF_PERF_CFG2 = 10;
-+
-+
-+static int STATCOLL=0;
-+static int TOTAL_TIME;
-+static int INTERVAL_US;
-+
-+struct timeval t1, t2;
-+
-+FILE* outfile;
-+struct emif_stats {
-+ uint32_t cycles;
-+ uint32_t cnt1;
-+ uint32_t cnt2;
-+};
-+
-+static struct emif_stats emif1_start, emif1_end;
-+static struct emif_stats emif2_start, emif2_end;
-+
-+static void *emif_init(int fd, unsigned base)
-+{
-+ void *mem =
-+ mmap(NULL, PAGE_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, base);
-+ volatile uint32_t *emif = mem,temp;
-+
-+ if (mem == MAP_FAILED){
-+ return NULL;
-+ }
-+
-+ emif[EMIF_PERF_CNT_CFG>>2] = EMIF_PERF_CFG2 << 16 | EMIF_PERF_CFG1;
-+
-+ return mem;
-+}
-+
-+static void emif_read(volatile uint32_t *emif, struct emif_stats *st)
-+{
-+ st->cycles = emif[EMIF_PERF_CNT_TIM>>2];
-+ st->cnt1 = emif[EMIF_PERF_CNT_1>>2];
-+ st->cnt2 = emif[EMIF_PERF_CNT_2>>2];
-+}
-+
-+static void emif_print(const char *tag, struct emif_stats *st1,
-+ struct emif_stats *st2)
-+{
-+ uint32_t cycles = st2->cycles - st1->cycles;
-+ uint32_t cnt1 = st2->cnt1 - st1->cnt1;
-+ uint32_t cnt2 = st2->cnt2 - st1->cnt2;
-+ printf("%s %s %2llu%% %s %2llu%%", tag,
-+ emif_perf_tab[EMIF_PERF_CFG1].name, 100ull*cnt1/cycles,
-+ emif_perf_tab[EMIF_PERF_CFG2].name, 100ull*cnt2/cycles);
-+ fprintf(outfile,"%s%s= %2llu,%s%s= %2llu,",
-+ tag, emif_perf_tab[EMIF_PERF_CFG1].name, 100ull*cnt1/cycles,
-+ tag, emif_perf_tab[EMIF_PERF_CFG2].name, 100ull*cnt2/cycles);
-+}
-+
-+static int perf_init(void)
-+{
-+ int fd = open("/dev/mem", O_RDWR);
-+ int err = 0;
-+
-+ if (fd == -1){
-+ printf("error fd=open() \n");
-+ return -1;
-+ }
-+ emif1 = emif_init(fd, EMIF1_BASE);
-+ emif2 = emif_init(fd, EMIF2_BASE);
-+
-+ if (!emif1 || !emif2){
-+ printf("error if (!emif1 || !emif2) \n");
-+ err = -1;
-+ }
-+
-+ close(fd);
-+ return err;
-+}
-+
-+static void perf_start(void)
-+{
-+ if (emif1) {
-+ emif_read(emif1, &emif1_start);
-+ emif_read(emif2, &emif2_start);
-+ }
-+}
-+
-+static void perf_stop(void)
-+{
-+ if (emif1) {
-+ emif_read(emif1, &emif1_end);
-+ emif_read(emif2, &emif2_end);
-+ }
-+}
-+
-+static void perf_print(void)
-+{
-+ if (emif1) {
-+ emif_print("EMIF1", &emif1_start, &emif1_end);
-+ printf("\t");
-+ emif_print("EMIF2", &emif2_start, &emif2_end);
-+ printf("\r");
-+ fprintf(outfile, "\n");
-+ fflush(outfile);
-+ fflush(stdout);
-+ }
-+}
-+
-+static void perf_close(void)
-+{
-+ if (emif1) munmap(emif1, PAGE_SIZE);
-+ if (emif2) munmap(emif2, PAGE_SIZE);
-+}
-+
-+static int get_cfg(const char *name, int def)
-+{
-+ char *end;
-+ int n = strtol(name, &end, 0);
-+ int i;
-+
-+ if (!*end)
-+ return n;
-+
-+ for (i = 0; i < sizeof(emif_perf_tab)/sizeof(emif_perf_tab[0]); i++)
-+ if (!strcmp(name, emif_perf_tab[i].name))
-+ return emif_perf_tab[i].code;
-+
-+ return def;
-+}
-+
-+
-+unsigned int emif_freq()
-+{
-+ volatile unsigned *tim1;
-+ unsigned v1, v2;
-+ int fd;
-+
-+ /*calculation EMIF frequency
-+ EMIF_PERF_CNT_TIM = \n32-bit counter that
-+ continuously counts number for
-+ EMIF_FCLK clock cycles elapsed
-+ after EMIFis brought out of reset*/
-+
-+ fd = open("/dev/mem", O_RDONLY);
-+ if (fd == -1) {
-+ perror("/dev/mem");
-+ return 1;
-+ }
-+
-+ void *mem =
-+ mem = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, EMIF1_BASE);
-+ if (mem == MAP_FAILED) {
-+ perror("mmap");
-+ exit(1);
-+ }
-+
-+ tim1 = (unsigned *)((char*)mem + EMIF_PERF_CNT_TIM);
-+
-+ v1 = *tim1;
-+ gettimeofday(&t1, NULL);
-+ sleep(2);
-+ v2 = *tim1;
-+ gettimeofday(&t2, NULL);
-+
-+ munmap(mem, PAGE_SIZE);
-+ close(fd);
-+
-+ return (v2 - v1) / tv_diff(&t1, &t2);
-+
-+}
-+
-+
-+char config_file_path[100];
-+char keylist[][50] = {
-+ "DELAY",
-+ "EMIF_PERF_CFG1",
-+ "EMIF_PERF_CFG2",
-+ "BANDWIDTH",
-+ "STATCOLL",
-+ "TOTAL_TIME",
-+ "INTERVAL_US",
-+ "INITIATORS",
-+};
-+
-+char line[512], *p;
-+char tokens[6][512];
-+int temp, flag = 0;
-+char *keyvalue, *pair;
-+char key[100];
-+int linecount=0;
-+
-+
-+int debug=0;
-+
-+void print_valid_options(void)
-+{
-+ int i;
-+ printf("Invalid key found\n");
-+ printf("Supported keys are :\n");
-+ for(i=0; i<sizeof(keylist)/sizeof(keylist[0]); i++)
-+ printf("\t\t %s\n", keylist[i]);
-+
-+}
-+int validatekey(char *ptr)
-+{
-+ int i;
-+ for(i=0; i<sizeof(keylist)/sizeof(keylist[0]); i++)
-+ if(strcmp(ptr, keylist[i]) == 0)
-+ return 0;
-+
-+ return 1;
-+}
-+
-+void add_key_value(char *key, int value)
-+{
-+ printd("%s", "Inside add_key_value\n");
-+
-+ if(strcmp(key, "BANDWIDTH") == 0) {
-+ BANDWIDTH = value;
-+ return;
-+ }
-+ if(strcmp(key, "STATCOLL") == 0) {
-+ STATCOLL = value;
-+ return;
-+ }
-+ else
-+ printd("%s", "********** UNKNOWN**********");
-+
-+ if(BANDWIDTH == 1) {
-+ if(strcmp(key, "DELAY") == 0)
-+ DELAY = value;
-+ else if(strcmp(key, "EMIF_PERF_CFG1") == 0)
-+ EMIF_PERF_CFG1 = value;
-+ else if(strcmp(key, "EMIF_PERF_CFG2") == 0)
-+ EMIF_PERF_CFG2 = value;
-+ }
-+ else
-+ printf("NOTE: BANDWIDTH is not enabled, ignoring %s\n", key);
-+
-+
-+ if(STATCOLL == 1) {
-+ if(strcmp(key, "INTERVAL_US") == 0)
-+ INTERVAL_US = value;
-+ else if(strcmp(key, "TOTAL_TIME") == 0)
-+ TOTAL_TIME = value;
-+ }
-+ else
-+ printf("NOTE: STATCOLL is not enabled, ignoring %s\n", key);
-+}
-+
-+void bandwidth_usage() {
-+
-+ printf("#########################################################\n##\n"
-+
-+ "## usage : ./Dra7xx_ddrstat <DELAY> <EMIF_PERF_CFG1> <EMIF_PERF_CFG2> \n"
-+ "## default : DELAY=1 EMIF_PERF_CFG1=9 EMIF_PERF_CFG2=10\n"
-+ "## option : for EMIF_PERF_CFG1 and EMIF_PERF_CFG2\n"
-+ "## 0 -> access,\n"
-+ "## 1 -> activate,\n"
-+ "## 2 -> read,\n"
-+ "## 3 -> write,\n"
-+ "## 4 -> fifo_cmd,\n"
-+ "## 5 -> fifo_write,\n"
-+ "## 6 -> fifo_read,\n"
-+ "## 7 -> fifo_ret,\n"
-+ "## 8 -> prio,\n"
-+ "## 9 -> cmd_pend,\n"
-+ "## 10 -> data \n##\n"
-+
-+ "## EMIF frq : %d MHz\n\n", emif_freq() );
-+}
-+
-+
-+int main(int argc, char **argv)
-+{
-+ int option;
-+ FILE *fp;
-+ int i;
-+ int xpos = 600, ypos = 40;
-+
-+
-+ /* Read config file */
-+ /* Initialize this to turn off verbosity of getopt */
-+ opterr = 0;
-+
-+// while ((option = getopt (argc, argv, "df:")) != -1)
-+ while ((option = getopt (argc, argv, "dx:y:")) != -1)
-+ {
-+ switch(option)
-+ {
-+#if 0
-+ case 'f':
-+ strcpy(config_file_path, optarg);
-+ break;
-+#endif
-+ case 'd':
-+ debug=1;
-+ break;
-+ case 'x':
-+ xpos=atoi(optarg);
-+ break;
-+ case 'y':
-+ ypos=atoi(optarg);
-+ break;
-+
-+ default:
-+ printf("Invalid option.. Exiting\n");
-+ exit(0);
-+ }
-+ }
-+
-+ printf("xpos = %d, ypos = %d\n", xpos, ypos);
-+
-+ strcpy(config_file_path,"config.ini");
-+ fp = fopen(config_file_path, "r");
-+ if (fp == NULL) {
-+ fprintf(stderr, "couldn't open the specified file\n");
-+ return -1;
-+ }
-+
-+ while (fgets(line, sizeof line, fp)) {
-+ printd("Line is = %s", line);
-+
-+ if (line[0] == '#' || line[0] == '\n') {
-+ continue;
-+ }
-+
-+ memset(tokens, 0, sizeof(tokens));
-+ i = 0;
-+
-+ pair = strtok (line," ,");
-+ while (pair != NULL)
-+ {
-+ printd ("\tPair is = %s\n",pair);
-+ strcpy(tokens[i++], pair);
-+ pair = strtok (NULL, " ,.-");
-+ }
-+
-+ for(temp=0; temp< i; temp++)
-+ {
-+ printd("Line %d: %s\n", temp, tokens[temp]);
-+
-+ keyvalue = strtok (tokens[temp]," =");
-+ while (keyvalue != NULL)
-+ {
-+ if(flag == 0)
-+ {
-+ if(validatekey(keyvalue))
-+ {
-+ print_valid_options();
-+ exit(0);
-+ }
-+ strcpy(key, keyvalue);
-+ printd ("\tKey is = %s\n",key);
-+ flag++;
-+ }
-+ else
-+ {
-+ printd ("\tValue is = %s",keyvalue);
-+ printd (" (%d)\n", atoi(keyvalue));
-+ add_key_value(key, atoi(keyvalue));
-+ flag = 0;
-+ }
-+ keyvalue = strtok (NULL, " =");
-+ }
-+ }
-+
-+
-+
-+ linecount++;
-+ printd("%s", "------------------- \n");
-+
-+ }
-+
-+ fclose(fp);
-+
-+ printf("\n\nCOMPLETED: Parsing of the user specified parameters.. \n \
-+ \nConfiguring device now.. \n\n");
-+ if(BANDWIDTH == 1) {
-+ bandwidth_usage();
-+ if (DELAY <= 0)
-+ DELAY = 1;
-+
-+ if (perf_init()){
-+ printf("perf_init return non zero \n");
-+ return 1;
-+ }
-+
-+ outfile = fopen("emif-performance.csv", "w+");
-+ if (!outfile) {
-+ printf("\n Error opening file");
-+ }
-+ for (;;) {
-+ perf_start();
-+ sleep(DELAY);
-+ perf_stop();
-+ perf_print();
-+ }
-+
-+ fclose(outfile);
-+ perf_close();
-+ return 0;
-+ }
-+
-+ if(STATCOLL == 1) {
-+ printf("STATISTICS COLLECTOR option chosen\n");
-+ printf("------------------------------------------------\n\n");
-+ fp = fopen("initiators.cfg", "r");
-+ if (fp == NULL) {
-+ fprintf(stderr, "couldn't open the specified file initiators.cfg'\n");
-+ return -1;
-+ }
-+
-+ int i=0;
-+ char list[100][50];
-+ memset(list, sizeof(list), 0);
-+ while (fgets(line, sizeof line, fp)) {
-+ printf("Line is = %s", line);
-+ /* Slightly strange way to chop off the \n character */
-+ strtok(line, "\n");
-+ strcpy(list[i++], line);
-+ }
-+ fclose(fp);
-+
-+ statcoll_start(TOTAL_TIME, INTERVAL_US, list, xpos, ypos);
-+ }
-+
-+}
-+
-diff --git a/clients/soc_performance_monitor.c b/clients/soc_performance_monitor.c
-new file mode 100644
-index 0000000..5d1db32
---- /dev/null
-+++ b/clients/soc_performance_monitor.c
-@@ -0,0 +1,630 @@
-+/*
-+ * Copyright (C) 2016 Texas Instruments
-+ * Author: Karthik Ramanan <karthik.ramanan@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * This program 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 General Public License along with
-+ * this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <stdint.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <stdint.h>
-+#include <signal.h>
-+#include <time.h>
-+#include <math.h>
-+#include <unistd.h>
-+#include <sys/time.h>
-+#include <pthread.h>
-+#include <errno.h>
-+#include <unistd.h>
-+#include <fcntl.h>
-+#include <sys/stat.h>
-+
-+#include "time_bar_graph.h"
-+
-+#include "soc_performance_monitor.h"
-+
-+static int debug=0;
-+
-+static char readfifo[100];
-+static int MAX_WIDTH=1920;
-+static int MAX_HEIGHT=1080;
-+static int x_pos=0;
-+static int y_pos=40;
-+
-+void *ctx;
-+struct time_graph_create_params tg_p;
-+struct bar_graph_create_params bg_p;
-+
-+static int cpu_load_offset = 0;
-+static int total_cpu_load_items = 0;
-+static int total_elements = 0;
-+
-+struct _bar_graph_y_config *y_cfg;
-+struct _text_config *t_cfg;
-+char *tg_text[100];
-+char *bg_text[100];
-+
-+
-+int command_handler(int command, double *y, char **text)
-+{
-+ static int fd;
-+ char buf[MAX_BUF];
-+ int i, bytes, offset;
-+
-+ switch(command)
-+ {
-+ case OPEN:
-+ fd = open(readfifo, O_RDONLY|O_NONBLOCK);
-+ break;
-+
-+ case READ:
-+
-+ /* open, read, and display the message from the FIFO */
-+ bytes=read(fd, buf, MAX_BUF);
-+ buf[bytes]='\0';
-+ if(bytes > 0)
-+ {
-+ char command[100];
-+ char string[100];
-+ sscanf(buf, "%s %s", command, string);
-+ printd("Received %s\n", buf);
-+ if(strcmp(command, "TABLE:") == 0)
-+ {
-+ char field[100], value[100], unit[100];
-+ sscanf(buf, "%s %s %s %s", command, field, value, unit);
-+ for(i=0; i<cpu_load_offset; i++) {
-+ if(strcmp(text[i*2], field) == 0) {
-+ printd("Updating value(%s), unit(%s)\n", value, unit);
-+ sprintf(text[i*2+1], "%s %s", value, unit);
-+ }
-+ }
-+ }
-+ else if(strcmp(command, "CPULOAD:") == 0)
-+ {
-+ char field[100], value[100];
-+
-+ sscanf(buf, "%s %s %s", command, field, value);
-+
-+ for(i=cpu_load_offset; i<cpu_load_offset+total_cpu_load_items; i++) {
-+ if(strcmp(text[i*2], field) == 0) {
-+ if(strlen(value) <= 2) {
-+ y[i*2+1] = atoi(value)/100.0;
-+ sprintf(text[i*2+1], " %02s%s", value,"%");
-+ printd("CPULOAD: Updating %s with %s\n", field, value);
-+ }
-+ else {
-+ printf("Ignoring value: %s\n", value);
-+ }
-+ }
-+ }
-+ }
-+ else if(strcmp(command, "MOVE:") == 0)
-+ {
-+ char value[100];
-+ printd("Received MOVE command : %s\n", buf);
-+ sscanf(string, "%s", value);
-+ sprintf(tg_p.title, "CPU Usage[@position-req=%sx%d]", value, y_pos);
-+ move_graph(ctx, &tg_p);
-+ }
-+ else
-+ {
-+ printf("ERROR: Received unexpected data from FIFO - \" %s \" \n", buf);
-+ }
-+ memset(buf, 0x0, sizeof(buf));
-+ }
-+
-+ break;
-+
-+ case CLOSE:
-+ close(fd);
-+ break;
-+ }
-+ return bytes;
-+}
-+
-+volatile sig_atomic_t sigtermed = 0;
-+
-+void my_signal_handler(int signum)
-+{
-+ if (signum == SIGTERM || signum == SIGINT) {
-+ sigtermed = 1;
-+ }
-+}
-+
-+int get_strings_in_section(char *string, char **output)
-+{
-+ FILE *fd;
-+ char line[512];
-+ int total_strings = 0;
-+
-+ fd = fopen("soc_performance_monitor.cfg", "r");
-+ if(fd == NULL) {
-+ fprintf(stderr, "ERROR: Unable to open file soc_performance_monitor.cfg\n");
-+ fprintf(stderr, " Please copy the file from /etc/visualization_scripts into current directory\n");
-+ exit(0);
-+ }
-+
-+ while(fgets(line, sizeof line, fd)) {
-+ if(strstr(line, string)) {
-+ printf("\n-------------------------------------------------\n");
-+ printf("CONFIG FILE PARSE: Found section %s in line : %s\n", string, line);
-+ break;
-+ }
-+ }
-+
-+ while(fgets(line, sizeof line, fd)) {
-+ printd("Line is = %s", line);
-+
-+ if (line[0] == '#' || line[0] == '\n' || line[0] == '[') {
-+ break;
-+ }
-+
-+ line[strlen(line) - 1] = '\0';
-+ strcpy(output[total_strings++], line);
-+
-+ }
-+ fclose(fd);
-+
-+ return total_strings;
-+}
-+
-+
-+void fill_cpu_load_details(int start_offset, int end_offset, char **output, struct table_configuration *table_config)
-+{
-+ int i;
-+
-+ const int BL_START_X = table_config->BL_START_X;
-+ const int BL_START_Y = table_config->BL_START_Y;
-+ const int BAR_GAP = table_config->BAR_GAP;
-+ const int BAR_HEIGHT = table_config->BAR_HEIGHT;
-+ const int BAR_WIDTH = table_config->BAR_WIDTH;
-+ const int TR_START_X = table_config->TR_START_X;
-+ const int TR_START_Y = table_config->TR_START_Y;
-+ const int FONT_SIZE = table_config->FONT_SIZE;
-+ printf("Filling from %d to %d\n", start_offset, end_offset);
-+ cpu_load_offset = start_offset;
-+
-+ for(i=start_offset; i< end_offset-1; i++) {
-+ y_cfg[i*2].region.bottom_left.x = BL_START_X + (i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ y_cfg[i*2].region.bottom_left.y = BL_START_Y;
-+ y_cfg[i*2].region.top_right.x = TR_START_X + (i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ y_cfg[i*2].region.top_right.y = TR_START_Y;
-+ y_cfg[i*2].line_color.r = 1.0;
-+ y_cfg[i*2].line_color.g = 1.0;
-+ y_cfg[i*2].line_color.b = 1.0;
-+ y_cfg[i*2].line_color.a = 1.0;
-+ y_cfg[i*2].fill_color.r = 0.0;
-+ y_cfg[i*2].fill_color.g = 0.0;
-+ y_cfg[i*2].fill_color.b = 1.0;
-+ y_cfg[i*2].fill_color.a = 0.7;
-+
-+ y_cfg[i*2+1].region.bottom_left.x = BL_START_X +(i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ y_cfg[i*2+1].region.bottom_left.y = BL_START_Y;
-+ y_cfg[i*2+1].region.top_right.x = TR_START_X + (i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ y_cfg[i*2+1].region.top_right.y = TR_START_Y;
-+ y_cfg[i*2+1].line_color.r = 1.0;
-+ y_cfg[i*2+1].line_color.g = 1.0;
-+ y_cfg[i*2+1].line_color.b = 1.0;
-+ y_cfg[i*2+1].line_color.a = 1.0;
-+ y_cfg[i*2+1].fill_color.r = 1.0;
-+ y_cfg[i*2+1].fill_color.g = 0.0;
-+ y_cfg[i*2+1].fill_color.b = 0.0;
-+ y_cfg[i*2+1].fill_color.a = 1.0;
-+
-+
-+ t_cfg[i*2].color.r = 1.0;
-+ t_cfg[i*2].color.g = 1.0;
-+ t_cfg[i*2].color.b = 1.0;
-+ t_cfg[i*2].color.a = 1.0;
-+ t_cfg[i*2].at.x = BL_START_X + (i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ t_cfg[i*2].at.y = BL_START_Y + FONT_SIZE;
-+ t_cfg[i*2].fontsize = FONT_SIZE;
-+
-+ t_cfg[i*2+1].color.r = 1.0;
-+ t_cfg[i*2+1].color.g = 1.0;
-+ t_cfg[i*2+1].color.b = 1.0;
-+ t_cfg[i*2+1].color.a = 1.0;
-+ t_cfg[i*2+1].at.x = BL_START_X + (i-start_offset) * (BAR_GAP + BAR_WIDTH);
-+ t_cfg[i*2+1].at.y = BL_START_Y - BAR_HEIGHT - FONT_SIZE;
-+ t_cfg[i*2+1].fontsize = FONT_SIZE;
-+
-+ strcpy(bg_text[i*2], output[i - start_offset]);
-+ strcpy(bg_text[i*2+1], "0%");
-+ }
-+
-+ t_cfg[(end_offset-1)*2].color.r = 0.0;
-+ t_cfg[(end_offset-1)*2].color.g = 1.0;
-+ t_cfg[(end_offset-1)*2].color.b = 1.0;
-+ t_cfg[(end_offset-1)*2].color.a = 1.0;
-+ t_cfg[(end_offset-1)*2].at.x = BL_START_X + 80;
-+ t_cfg[(end_offset-1)*2].at.y = TR_START_Y - 40;
-+ t_cfg[(end_offset-1)*2].fontsize = FONT_SIZE + 3;
-+
-+ printd("Copying title string %s\n", output[end_offset - start_offset -1]);
-+ strcpy(bg_text[(end_offset-1)*2], output[end_offset - start_offset-1]);
-+}
-+
-+void fill_table_details(int start_offset, int end_offset, char **output, struct table_configuration *table_config)
-+{
-+ int i;
-+
-+ const int BL_START_X = table_config->BL_START_X;
-+ const int BL_START_Y = table_config->BL_START_Y;
-+ const int BAR_GAP = table_config->BAR_GAP;
-+ const int BAR_HEIGHT = table_config->BAR_HEIGHT;
-+ const int BAR_WIDTH = table_config->BAR_WIDTH;
-+ const int TR_START_X = table_config->TR_START_X;
-+ const int TR_START_Y = table_config->TR_START_Y;
-+ const int FONT_SIZE = table_config->FONT_SIZE;
-+ printf("Filling from %d to %d\n", start_offset, end_offset);
-+
-+
-+ char tokenize[200];
-+ char tokens[10][100];
-+ char *pair, *key, *value;
-+ int k=0;
-+ char title[100], unit[100];
-+
-+ strcpy(tokenize, output[end_offset - start_offset - 1]);
-+ memset(tokens, 0, sizeof(tokens));
-+
-+ k=0;
-+ pair = strtok (tokenize,",");
-+ while (pair != NULL) {
-+ strcpy(tokens[k++], pair);
-+ pair = strtok (NULL, ",");
-+ }
-+
-+ i=0;
-+ memset(title, 0, sizeof(title));
-+ memset(unit, 0, sizeof(unit));
-+ while(i < k) {
-+ key=strtok(tokens[i], "=");
-+ if(key != NULL) {
-+ if(strcmp(key,"TITLE") == 0) {
-+ value = strtok(NULL, "=");
-+ if(value != NULL) {
-+ strcpy(title, value);
-+ }
-+ }
-+ if(strcmp(key,"UNIT") == 0) {
-+ value = strtok(NULL, "=");
-+ if(value != NULL) {
-+ strcpy(unit, value);
-+ }
-+ }
-+ }
-+ i++;
-+ }
-+
-+ for(i=start_offset; i< end_offset-1; i++) {
-+ y_cfg[i*2].region.bottom_left.x = BL_START_X;
-+ y_cfg[i*2].region.bottom_left.y = BL_START_Y + (i - start_offset) * (BAR_GAP + BAR_HEIGHT);
-+ y_cfg[i*2].region.top_right.x = TR_START_X;
-+ y_cfg[i*2].region.top_right.y = TR_START_Y + (i - start_offset) * (BAR_GAP + BAR_HEIGHT);
-+ y_cfg[i*2].line_color.r = 1.0;
-+ y_cfg[i*2].line_color.g = 1.0;
-+ y_cfg[i*2].line_color.b = 1.0;
-+ y_cfg[i*2].line_color.a = 1.0;
-+ y_cfg[i*2].fill_color.r = 0.0;
-+ y_cfg[i*2].fill_color.g = 0.3;
-+ y_cfg[i*2].fill_color.b = 0.0;
-+ y_cfg[i*2].fill_color.a = 0.7;
-+
-+ y_cfg[i*2+1].region.bottom_left.x = TR_START_X;
-+ y_cfg[i*2+1].region.bottom_left.y = BL_START_Y + (i - start_offset) * (BAR_GAP + BAR_HEIGHT);
-+ y_cfg[i*2+1].region.top_right.x = TR_START_X + (BAR_WIDTH); //+ 1 * BL_START_X;
-+ y_cfg[i*2+1].region.top_right.y = TR_START_Y + (i - start_offset) * (BAR_GAP + BAR_HEIGHT);;
-+ y_cfg[i*2+1].line_color.r = 1.0;
-+ y_cfg[i*2+1].line_color.g = 1.0;
-+ y_cfg[i*2+1].line_color.b = 1.0;
-+ y_cfg[i*2+1].line_color.a = 1.0;
-+ y_cfg[i*2+1].fill_color.r = 0.3;
-+ y_cfg[i*2+1].fill_color.g = 0.0;
-+ y_cfg[i*2+1].fill_color.b = 0.0;
-+ y_cfg[i*2+1].fill_color.a = 0.7;
-+
-+
-+ t_cfg[i*2].color.r = 1.0;
-+ t_cfg[i*2].color.g = 1.0;
-+ t_cfg[i*2].color.b = 1.0;
-+ t_cfg[i*2].color.a = 1.0;
-+ t_cfg[i*2].at.x = BL_START_X + 5;
-+ t_cfg[i*2].at.y = BL_START_Y + (i - start_offset) * (BAR_GAP+BAR_HEIGHT) -5;
-+ t_cfg[i*2].fontsize = FONT_SIZE;
-+
-+ t_cfg[i*2+1].color.r = 1.0;
-+ t_cfg[i*2+1].color.g = 1.0;
-+ t_cfg[i*2+1].color.b = 1.0;
-+ t_cfg[i*2+1].color.a = 1.0;
-+ t_cfg[i*2+1].at.x = TR_START_X + 50;//BAR_WIDTH + TR_START_X;
-+ t_cfg[i*2+1].at.y = BL_START_Y + (i - start_offset) * (BAR_GAP + BAR_HEIGHT) -5;
-+ t_cfg[i*2+1].fontsize = FONT_SIZE;
-+
-+ printd("Copying string %s at %d\n", output[i-start_offset], i);
-+ strcpy(bg_text[i*2], output[i-start_offset]);
-+ printd("Setting text 0 %s at %d\n", unit, i*2+1);
-+ sprintf(bg_text[i*2+1], "0 %s", unit);
-+ }
-+ for(i=start_offset; i< end_offset*2; i++) {
-+ printd("%d - (%d, %d) to (%d, %d)\n", i, y_cfg[i].region.bottom_left.x, y_cfg[i].region.bottom_left.y, y_cfg[i].region.top_right.x, y_cfg[i].region.top_right.y);
-+ }
-+
-+ t_cfg[(end_offset-1)*2].color.r = 0.0;
-+ t_cfg[(end_offset-1)*2].color.g = 1.0;
-+ t_cfg[(end_offset-1)*2].color.b = 1.0;
-+ t_cfg[(end_offset-1)*2].color.a = 1.0;
-+ t_cfg[(end_offset-1)*2].at.x = BL_START_X + 80;
-+ t_cfg[(end_offset-1)*2].at.y = BL_START_Y - 40;
-+ t_cfg[(end_offset-1)*2].fontsize = FONT_SIZE + 3;
-+
-+ printd("Copying title string %s\n", title);
-+ strcpy(bg_text[(end_offset-1)*2], title);
-+
-+}
-+
-+
-+int get_key_value_from_string(char *string, char *limiter, char *key, char *value)
-+{
-+ char *mykey, *myvalue;
-+
-+ mykey=strtok(string, limiter);
-+ if(mykey != NULL) {
-+ myvalue = strtok(NULL, "=");
-+ strtok(myvalue, "\n");
-+ if(myvalue == NULL) {
-+ return -1;
-+ }
-+ }
-+ else {
-+ return -1;
-+ }
-+ printd("Key is %s\n", mykey);
-+ printd("Value is %s\n", myvalue);
-+ strcpy(key, mykey);
-+ strcpy(value, myvalue);
-+ return 0;
-+
-+}
-+
-+void populate_table_configuration(struct table_configuration *tbl_cfg, int cur_items, char **item_list)
-+{
-+ static int total_items = 0;
-+ static int total_tables = 0;
-+
-+ tbl_cfg->BAR_HEIGHT = 25;
-+ tbl_cfg->BAR_WIDTH = 150;
-+ tbl_cfg->BL_START_X = 40;
-+ tbl_cfg->BL_START_Y = 80 + (total_items + total_tables) * tbl_cfg->BAR_HEIGHT;
-+ tbl_cfg->BAR_GAP = 0;
-+ tbl_cfg->TR_START_X = tbl_cfg->BL_START_X + tbl_cfg->BAR_WIDTH;
-+ tbl_cfg->TR_START_Y = tbl_cfg->BL_START_Y - tbl_cfg->BAR_HEIGHT;
-+ tbl_cfg->FONT_SIZE = 15;
-+
-+ printf("Proceeding with filling out details...\n");
-+ if(cur_items > 0)
-+ fill_table_details(total_items, total_items+cur_items, item_list, tbl_cfg);
-+
-+ total_items += cur_items;
-+ if(cur_items > 0)
-+ total_tables++;
-+
-+ printf("total_items = %d, total_tables = %d\n", total_items, total_tables);
-+ return;
-+}
-+
-+int fill_list_from_section(char **section_list, char *section_name)
-+{
-+ int total_items, j;
-+
-+ for(j=0; j<20; j++) {
-+ section_list[j] = malloc(100);
-+ }
-+
-+ total_items = get_strings_in_section(section_name, section_list);
-+ printf("\tThe total values in the section %s are %d\n", section_name, total_items);
-+ for(j=0; j<total_items; j++) {
-+ printf("\t\tThe returned strings for BOOT_TIME are %s\n", section_list[j]);
-+ }
-+
-+ total_elements += total_items;
-+
-+ return total_items;
-+}
-+
-+int main(int argc, char *argv[])
-+{
-+ double *bg_y;
-+ double *tg_y;
-+ int i,j;
-+ int refresh_rate;
-+
-+ if (SIG_ERR == signal(SIGPIPE,SIG_IGN))
-+ exit(1);
-+
-+ if (SIG_ERR == signal(SIGINT,my_signal_handler))
-+ exit(1);
-+
-+ if (SIG_ERR == signal(SIGTERM,my_signal_handler))
-+ exit(1);
-+
-+ if(argc == 2) {
-+ printf("Enabling debug\n");
-+ debug = atoi(argv[1]);
-+ }
-+ else {
-+ printf("Debug is disabled\n");
-+ debug = 0;
-+ }
-+
-+ char *output[20];
-+ int total = fill_list_from_section(output, "GLOBAL");
-+ for(j=0; j<total; j++) {
-+ char key[100], value[100];
-+ int ret = get_key_value_from_string(output[j], "=", key, value);
-+ if(ret == 0) {
-+ if(strcmp(key, "FIFO") == 0) {
-+ strcpy(readfifo, value);
-+ }
-+ if(strcmp(key, "REFRESH_RATE_USEC") == 0) {
-+ refresh_rate = atoi(value);
-+ }
-+ if(strcmp(key, "MAX_WIDTH") == 0) {
-+ MAX_WIDTH = atoi(value);
-+ }
-+ if(strcmp(key, "MAX_HEIGHT") == 0) {
-+ MAX_HEIGHT = atoi(value);
-+ }
-+ if(strcmp(key, "X_POS") == 0) {
-+ x_pos = atoi(value);
-+ }
-+ if(strcmp(key, "Y_POS") == 0) {
-+ y_pos = atoi(value);
-+ }
-+ }
-+
-+ }
-+
-+ printf("\n-------------------------------------------------\n");
-+ printf("Configured REFRESH_RATE is %d\n", refresh_rate);
-+ printf("Configured FIFO is %s\n", readfifo);
-+ printf("Configured MAX_WIDTH is %d\n", MAX_WIDTH);
-+ printf("Configured MAX_HEIGHT is %d\n", MAX_HEIGHT);
-+ printf("Configured starting location is (%d, %d)\n", x_pos, y_pos);
-+ printf("\n-------------------------------------------------\n");
-+
-+ int fd = open(readfifo, O_RDONLY|O_NONBLOCK);
-+ if (fd != -1) {
-+ printf("SUCCESS: Configured FIFO exists\n");
-+ close(fd);
-+ }
-+ else {
-+ printf("ERROR: %s not found\nPlease create the fifo by executing mkfifo %s before running the application\n", readfifo, readfifo);
-+ exit(0);
-+ }
-+
-+
-+ bg_p.title = malloc(100);
-+ sprintf(bg_p.title, "CPU Usage[@position-req=%dx%d]", x_pos, y_pos);
-+
-+ /* ------------------------------------------------------------------------*/
-+ /* Section for populating all lists from cfg sections*/
-+ /* ------------------------------------------------------------------------*/
-+ char *boot_list[20];
-+ int total_boot_items = fill_list_from_section(boot_list, "BOOT_TIME");
-+
-+ char *temperature_list[20];
-+ int total_temperature_items = fill_list_from_section(temperature_list, "TEMPERATURE");
-+
-+ char *cpu_load_list[20];
-+ total_cpu_load_items = fill_list_from_section(cpu_load_list, "CPU_LOAD");
-+
-+ char *voltage_list[20];
-+ int total_voltage_items = fill_list_from_section(voltage_list, "VOLTAGE");
-+
-+ char *frequency_list[20];
-+ int total_frequency_items = fill_list_from_section(frequency_list, "FREQUENCY");
-+ /* ------------------------------------------------------------------------*/
-+ /* total_elements will be updated inside the fill_list_from_section function */
-+
-+ t_cfg = malloc(sizeof(struct _text_config) * (total_elements*2 + 1));
-+ y_cfg = malloc(sizeof(struct _bar_graph_y_config) * total_elements*2);
-+ bg_p.num_of_y_items = total_elements*2;
-+ bg_p.y_config_array = y_cfg;
-+ bg_p.num_of_text_items = total_elements*2 + 1;
-+ bg_p.text_config_array = t_cfg;
-+
-+ bg_y = malloc(sizeof(double) * total_elements * 2);
-+ for(i=0; i< (total_elements*2+1); i++) {
-+ bg_text[i] = malloc(150);
-+ bg_y[i] = 1.0;
-+ }
-+
-+ tg_y = malloc(sizeof(double) * total_elements * 2);
-+ for(i=0; i< (total_elements*2+1); i++) {
-+ tg_text[i] = malloc(150);
-+ tg_y[i] = 0.1 * i;
-+ }
-+
-+ struct table_configuration boot_table_config;
-+ populate_table_configuration(&boot_table_config, total_boot_items, boot_list);
-+
-+ struct table_configuration temp_table_config;
-+ populate_table_configuration(&temp_table_config, total_temperature_items, temperature_list);
-+
-+ struct table_configuration voltage_table_config;
-+ populate_table_configuration(&voltage_table_config, total_voltage_items, voltage_list);
-+
-+ struct table_configuration frequency_table_config;
-+ populate_table_configuration(&frequency_table_config, total_frequency_items, frequency_list);
-+
-+ struct table_configuration cpu_load_config;
-+ cpu_load_config.BL_START_X = 40;
-+ cpu_load_config.BL_START_Y = 80 + (total_boot_items + total_temperature_items + total_voltage_items + total_frequency_items+ 4) * boot_table_config.BAR_HEIGHT + 80 /*cpu_load_config.BAR_HEIGHT */;
-+ cpu_load_config.BAR_GAP = 20;
-+ cpu_load_config.BAR_HEIGHT = 80;
-+ cpu_load_config.BAR_WIDTH = 40;
-+ cpu_load_config.TR_START_X = cpu_load_config.BL_START_X + cpu_load_config.BAR_WIDTH;
-+ cpu_load_config.TR_START_Y = cpu_load_config.BL_START_Y - cpu_load_config.BAR_HEIGHT;
-+ cpu_load_config.FONT_SIZE = 15;
-+ if(total_cpu_load_items > 0) {
-+ fill_cpu_load_details(total_boot_items+total_temperature_items+total_voltage_items+total_frequency_items, total_boot_items+total_temperature_items+total_voltage_items+total_frequency_items+total_cpu_load_items, cpu_load_list, &cpu_load_config);
-+ }
-+ else {
-+ cpu_load_offset = total_boot_items + total_temperature_items + total_voltage_items + total_frequency_items;
-+ }
-+
-+ tg_p.title=(char *)malloc(100);
-+ sprintf(tg_p.title, "CPU Usage[@position-req=%dx%d]", x_pos, y_pos);
-+ tg_p.height = MAX_HEIGHT;
-+ tg_p.width = MAX_WIDTH;
-+
-+ struct _y_config *tg_y_cfg = malloc(tg_p.num_of_y_items * sizeof(struct _y_config));
-+ tg_p.y_config_array = tg_y_cfg;
-+ tg_p.text_config_array = t_cfg;
-+
-+ printf("Proceeding to create starting visualization...\n");
-+ ctx = time_graph_create(argc, argv, &tg_p);
-+ if (!ctx) {
-+ printf("Unable to create time_graph... \n");
-+ exit(0);
-+ }
-+
-+ ctx = bar_graph_create(argc, argv, &bg_p);
-+ if (!ctx) {
-+ printf("Error creating context\n");
-+ exit(0);
-+ }
-+
-+ command_handler(OPEN, NULL, NULL);
-+
-+ /* Plot the graph first time */
-+ time_graph_plot(ctx, tg_y, (const char **)tg_text);
-+ bar_graph_plot(ctx, bg_y, (const char **)bg_text);
-+
-+ while (!sigtermed)
-+ {
-+ usleep(refresh_rate);
-+ int bytes_read = command_handler(READ, bg_y, bg_text);
-+ if(bytes_read > 0) {
-+ time_graph_plot(ctx, tg_y, (const char **)tg_text);
-+ bar_graph_plot(ctx, bg_y, (const char **)bg_text);
-+ }
-+ }
-+
-+ bar_graph_destroy(ctx);
-+ command_handler(CLOSE, NULL, NULL);
-+ return 0;
-+}
-diff --git a/clients/soc_performance_monitor.h b/clients/soc_performance_monitor.h
-new file mode 100644
-index 0000000..861c8c7
---- /dev/null
-+++ b/clients/soc_performance_monitor.h
-@@ -0,0 +1,40 @@
-+#define __SLEEP usleep(1000000)
-+
-+#define MAX_BUF 1024
-+#define OPEN 1
-+#define READ 2
-+#define CLOSE 3
-+
-+#define MAX_COLORS 12
-+
-+#define printd(fmt, ...) \
-+ do { if (debug) fprintf(stderr, fmt, __VA_ARGS__); } while (0)
-+
-+
-+struct _rgba pallette[MAX_COLORS] =
-+{
-+ { 1.0, 0.0, 0.0, 1.0 },
-+ { 0.0, 0.5, 0.0, 1.0 },
-+ { 0.0, 0.0, 1.0, 1.0 },
-+ { 0.0, 0.0, 0.0, 1.0 },
-+ { 0.0, 0.5, 1.0, 1.0 },
-+ { 1.0, 0.0, 1.0, 1.0 },
-+ { 0.5, 0.5, 1.0, 1.0 },
-+ { 1.0, 0.5, 0.0, 1.0 },
-+ { 0.5, 0.5, 0.25, 1.0 },
-+ { 0.5, 0.0, 0.0, 1.0 },
-+ { 1.0, 0.5, 0.5, 1.0 },
-+ { 0.0, 0.0, 0.20, 1.0 }
-+};
-+
-+struct table_configuration {
-+ int BL_START_X;
-+ int BL_START_Y;
-+ int BAR_GAP;
-+ int BAR_HEIGHT;
-+ int BAR_WIDTH;
-+ int TR_START_X;
-+ int TR_START_Y;
-+ int FONT_SIZE;
-+};
-+
-diff --git a/clients/statcoll.c b/clients/statcoll.c
-new file mode 100644
-index 0000000..5d5cae7
---- /dev/null
-+++ b/clients/statcoll.c
-@@ -0,0 +1,1433 @@
-+/*
-+ * Copyright (C) 2015 Texas Instruments
-+ * created by prash@ti.com on 16 Jan 2013
-+ * Adapted to Linux with changes in framework: Karthik R <karthik.ramanan@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * This program 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 General Public License along with
-+ * this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <sys/mman.h>
-+#include <fcntl.h>
-+#include <signal.h>
-+#include <unistd.h>
-+#include <sys/time.h>
-+
-+#include "statcoll.h"
-+#include "statcoll_gui.h"
-+#include "time_bar_graph.h"
-+
-+#define ENABLE_MODE 0x0
-+#define READ_STATUS_MODE 0x1
-+
-+
-+
-+#define OPEN 1
-+#define READ 2
-+#define CLOSE 3
-+
-+
-+#if 1
-+#define __SLEEP sleep(1)
-+#else
-+#define __SLEEP usleep(100000)
-+#endif
-+//#define DUMMY_MODE
-+
-+#define MAX_COLORS 12
-+
-+struct _rgba pallette[MAX_COLORS] =
-+{
-+ { 1.0, 0.0, 0.0, 1.0 },
-+ { 0.0, 0.5, 0.0, 1.0 },
-+ { 0.0, 0.0, 1.0, 1.0 },
-+ { 0.0, 0.0, 0.0, 1.0 },
-+ { 0.0, 0.5, 1.0, 1.0 },
-+ { 1.0, 0.0, 1.0, 1.0 },
-+ { 0.5, 0.5, 1.0, 1.0 },
-+ { 1.0, 0.5, 0.0, 1.0 },
-+ { 0.5, 0.5, 0.25, 1.0 },
-+ { 0.5, 0.0, 0.0, 1.0 },
-+ { 1.0, 0.5, 0.5, 1.0 },
-+ { 0.0, 0.0, 0.20, 1.0 }
-+};
-+
-+const struct list_of_initiators initiators[STATCOL_MAX] =
-+{
-+ { STATCOL_EMIF1_SYS, "STATCOL_EMIF1_SYS" },
-+ { STATCOL_EMIF2_SYS,"STATCOL_EMIF2_SYS" },
-+ { STATCOL_MA_MPU_P1,"STATCOL_MPU_P1" },
-+ { STATCOL_MA_MPU_P2,"STATCOL_MPU_P2" },
-+ { STATCOL_MPU1,"STATCOL_MPU1" },
-+ { STATCOL_MMU1,"STATCOL_MMU1" },
-+ { STATCOL_TPTC_RD1,"STATCOL_TPTC_RD1" },
-+ { STATCOL_TPTC_WR1,"STATCOL_TPTC_WR1" },
-+ { STATCOL_TPTC_RD2,"STATCOL_TPTC_RD2" },
-+ { STATCOL_TPTC_WR2,"STATCOL_TPTC_WR2" },
-+ { STATCOL_VIP1_P1,"STATCOL_VIP1_P1" },
-+ { STATCOL_VIP1_P2,"STATCOL_VIP1_P2" },
-+ { STATCOL_VIP2_P1,"STATCOL_VIP2_P1" },
-+ { STATCOL_VIP2_P2,"STATCOL_VIP2_P2" },
-+ { STATCOL_VIP3_P1,"STATCOL_VIP3_P1" },
-+ { STATCOL_VIP3_P2,"STATCOL_VIP3_P2" },
-+ { STATCOL_VPE_P1,"STATCOL_VPE_P1" },
-+ { STATCOL_VPE_P2,"STATCOL_VPE_P2" },
-+ { STATCOL_EVE1_TC0,"STATCOL_EVE1_TC0" },
-+ { STATCOL_EVE1_TC1,"STATCOL_EVE1_TC1" },
-+ { STATCOL_EVE2_TC0,"STATCOL_EVE2_TC0" },
-+ { STATCOL_EVE2_TC1,"STATCOL_EVE2_TC1" },
-+ { STATCOL_EVE3_TC0,"STATCOL_EVE3_TC0" },
-+ { STATCOL_EVE3_TC1,"STATCOL_EVE3_TC1" },
-+ { STATCOL_EVE4_TC0,"STATCOL_EVE4_TC0" },
-+ { STATCOL_EVE4_TC1,"STATCOL_EVE4_TC1" },
-+ { STATCOL_DSP1_MDMA,"STATCOL_DSP1_MDMA" },
-+ { STATCOL_DSP1_EDMA,"STATCOL_DSP1_EDMA" },
-+ { STATCOL_DSP2_MDMA,"STATCOL_DSP2_MDMA" },
-+ { STATCOL_DSP2_EDMA,"STATCOL_DSP2_EDMA" },
-+ { STATCOL_IVA,"STATCOL_IVA" },
-+ { STATCOL_GPU_P1,"STATCOL_GPU_P1" },
-+ { STATCOL_GPU_P2,"STATCOL_GPU_P2" },
-+ { STATCOL_BB2D_P1,"STATCOL_BB2D_P1" },
-+ { STATCOL_DSS,"STATCOL_DSS" },
-+ { STATCOL_CSI2_2,"STATCOL_CSI2_2" },
-+ { STATCOL_MMU2,"STATCOL_MMU2" },
-+ { STATCOL_IPU1,"STATCOL_IPU1" },
-+ { STATCOL_IPU2,"STATCOL_IPU2" },
-+ { STATCOL_DMA_SYSTEM_RD,"STATCOL_DMA_SYSTEM_RD" },
-+ { STATCOL_DMA_SYSTEM_WR,"STATCOL_DMA_SYSTEM_WR" },
-+ { STATCOL_CSI2_1,"STATCOL_CSI2_1" },
-+ { STATCOL_USB3_SS,"STATCOL_USB3_SS" },
-+ { STATCOL_USB2_SS,"STATCOL_USB2_SS" },
-+ { STATCOL_USB2_ULPI_SS1,"STATCOL_USB2_ULPI_SS1" },
-+ { STATCOL_USB2_ULPI_SS2,"STATCOL_USB2_ULPI_SS2" },
-+ { STATCOL_PCIE_SS1,"STATCOL_PCIE_SS1" },
-+ { STATCOL_PCIE_SS2,"STATCOL_PCIE_SS2" },
-+ { STATCOL_DSP1_CFG,"STATCOL_DSP1_CFG" },
-+ { STATCOL_DSP2_CFG,"STATCOL_DSP2_CFG" },
-+ { STATCOL_GMAC_SW,"STATCOL_GMAC_SW" },
-+ { STATCOL_PRUSS1_P1,"STATCOL_PRUSS1_P1" },
-+ { STATCOL_PRUSS1_P2,"STATCOL_PRUSS1_P2" },
-+ { STATCOL_PRUSS2_P1,"STATCOL_PRUSS2_P1" },
-+ { STATCOL_PRUSS2_P2,"STATCOL_PRUSS2_P2" },
-+ { STATCOL_DMA_CRYPTO_RD,"STATCOL_DMA_CRYPTO_RD" },
-+ { STATCOL_DMA_CRYPTO_WR,"STATCOL_DMA_CRYPTO_WR" },
-+ { STATCOL_MPU2,"STATCOL_MPU2" },
-+ { STATCOL_MMC1,"STATCOL_MMC1" },
-+ { STATCOL_MMC2,"STATCOL_MMC2" },
-+ { STATCOL_SATA,"STATCOL_SATA" },
-+ { STATCOL_MLBSS,"STATCOL_MLBSS" },
-+ { STATCOL_BB2D_P2,"STATCOL_BB2D_P2" },
-+ { STATCOL_IEEE1500,"STATCOL_IEEE1500" },
-+ { STATCOL_DBG,"STATCOL_DBG" },
-+ { STATCOL_VCP1,"STATCOL_VCP1" },
-+ { STATCOL_OCMC_RAM1,"STATCOL_OCMC_RAM1" },
-+ { STATCOL_OCMC_RAM2,"STATCOL_OCMC_RAM2" },
-+ { STATCOL_OCMC_RAM3,"STATCOL_OCMC_RAM3" },
-+ { STATCOL_GPMC,"STATCOL_GPMC" },
-+ { STATCOL_MCASP1,"STATCOL_MCASP1" },
-+ { STATCOL_MCASP2,"STATCOL_MCASP2" },
-+ { STATCOL_MCASP3,"STATCOL_MCASP3" },
-+ { STATCOL_VCP2, "STATCOL_VCP2" }
-+};
-+
-+StatCollectorObj gStatColState;
-+
-+static void *statcoll_base_mem;
-+static int *l3_3_clkctrl;
-+
-+static UInt32 *statCountDSS = NULL;
-+static UInt32 *statCountIVA = NULL;
-+static UInt32 *statCountBB2DP1 = NULL;
-+static UInt32 *statCountBB2DP2 = NULL;
-+static UInt32 *statCountUSB4 = NULL;
-+static UInt32 *statCountSata = NULL;
-+static UInt32 *statCountEmif1 = NULL;
-+static UInt32 *statCountEmif2 = NULL;
-+
-+
-+static statcoll_initiators_object global_object[STATCOL_MAX];
-+UInt32 statCountIdx = 0;
-+UInt32 TRACE_SZ = 0;
-+
-+void create_overall_box(struct _bar_graph_y_config *y_cfg, struct _text_config *t_cfg, char *text[])
-+{
-+ int i=0;
-+
-+ memset(y_cfg, 0x0, sizeof(struct _y_config)*25);
-+ memset(t_cfg, 0x0, sizeof(struct _text_config)*25);
-+
-+
-+ for(i=0; i<TOTAL_Y_PARAMETERS; i++) {
-+ (y_cfg+i)->line_color.r = 1.0;
-+ (y_cfg+i)->line_color.g = 1.0;
-+ (y_cfg+i)->line_color.b = 1.0;
-+ (y_cfg+i)->line_color.a = 0.7;
-+ (y_cfg+i)->fill_color.r = 0.0;
-+ (y_cfg+i)->fill_color.g = 0.0;
-+ (y_cfg+i)->fill_color.b = 0.0;
-+ (y_cfg+i)->fill_color.a = 0.1;
-+ }
-+
-+ (y_cfg+0)->region.bottom_left.x = 0;
-+ (y_cfg+0)->region.bottom_left.y = MAX_HEIGHT - HEIGHT_EMIF_AREA;
-+ (y_cfg+0)->region.top_right.x = MAX_WIDTH;
-+ (y_cfg+0)->region.top_right.y = 0;
-+
-+ (t_cfg+0)->at.x = MAX_WIDTH/2 - 8*FONT_SIZE - 50;
-+ (t_cfg+0)->at.y = BORDER - FONT_SIZE + 6;
-+ strcpy(text[0], string_list[0]);
-+
-+ (y_cfg+1)->region.bottom_left.x = TIME_GRAPH_AREA_BL_X;
-+ (y_cfg+1)->region.bottom_left.y = TIME_GRAPH_AREA_BL_Y;
-+ (y_cfg+1)->region.top_right.x = TIME_GRAPH_AREA_TR_X;
-+ (y_cfg+1)->region.top_right.y = TIME_GRAPH_AREA_TR_Y;
-+
-+ (t_cfg+1)->at.x = TIME_GRAPH_AREA_BL_X - 2*FONT_SIZE;
-+ (t_cfg+1)->at.y = TIME_GRAPH_AREA_TR_Y;
-+ strcpy(text[1],string_list[1]);
-+
-+ for(i=2; i<7; i++)
-+ {
-+ (y_cfg+i)->region.bottom_left.x = TIME_GRAPH_AREA_BL_X;
-+ (y_cfg+i)->region.bottom_left.y = TIME_GRAPH_AREA_BL_Y;// - (i-2) * (30);
-+ (y_cfg+i)->region.top_right.x = TIME_GRAPH_AREA_TR_X;
-+ (y_cfg+i)->region.top_right.y = TIME_GRAPH_AREA_TR_Y + (i-1) * ((TIME_GRAPH_AREA_BL_Y - TIME_GRAPH_AREA_TR_Y)/5);
-+ (t_cfg+i)->at.x = TIME_GRAPH_AREA_BL_X - 2*FONT_SIZE;
-+ (t_cfg+i)->at.y = TIME_GRAPH_AREA_TR_Y + (i-1) * ((TIME_GRAPH_AREA_BL_Y - TIME_GRAPH_AREA_TR_Y)/5);//TIME_GRAPH_AREA_TR_Y;
-+ strcpy(text[i],string_list[i]);
-+ }
-+
-+#if 1
-+ (y_cfg+7)->region.bottom_left.x = EMIF_AREA_BL_X;
-+ (y_cfg+7)->region.bottom_left.y = EMIF_AREA_BL_Y;
-+ (y_cfg+7)->region.top_right.x = EMIF_AREA_TR_X;
-+ (y_cfg+7)->region.top_right.y = EMIF_AREA_TR_Y;
-+
-+ (t_cfg+7)->at.x = WIDTH_EMIF_AREA/2 - 2*FONT_SIZE;
-+ (t_cfg+7)->at.y = EMIF_AREA_TR_Y + FONT_SIZE;
-+ strcpy(text[7],string_list[7]);
-+
-+ for(i=8; i<12; i=i+2)
-+ {
-+ (y_cfg+i)->region.bottom_left.x = EMIF_AREA_BL_X + BORDER + (i-8)*(BAR_WIDTH+BAR_GAP)/2;
-+ (y_cfg+i)->region.bottom_left.y = EMIF_AREA_BL_Y - BORDER/2;// - (i-2) * (30);
-+ (y_cfg+i)->region.top_right.x = EMIF_AREA_BL_X + BORDER + BAR_WIDTH + (i-8) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i)->region.top_right.y = EMIF_AREA_TR_Y + BORDER * 1.2;
-+
-+ (y_cfg+i)->fill_color.r = 1.0;
-+ (y_cfg+i)->fill_color.g = 0.0;
-+ (y_cfg+i)->fill_color.b = 0.0;
-+ (y_cfg+i)->fill_color.a = 0.1;
-+
-+ (y_cfg+i+1)->region.bottom_left.x = EMIF_AREA_BL_X + BORDER + (i-8) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i+1)->region.bottom_left.y = EMIF_AREA_BL_Y - BORDER/2;
-+ (y_cfg+i+1)->region.top_right.x = EMIF_AREA_BL_X + BORDER + BAR_WIDTH + (i-8) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i+1)->region.top_right.y = EMIF_AREA_TR_Y + BORDER*1.2;
-+
-+ (y_cfg+i+1)->fill_color.r = 0.0;
-+ (y_cfg+i+1)->fill_color.g = 1.0;
-+ (y_cfg+i+1)->fill_color.b = 0.0;
-+ (y_cfg+i+1)->fill_color.a = 1.0;
-+
-+ (t_cfg+i)->at.x = EMIF_AREA_BL_X + BAR_WIDTH + BORDER + (i-8) * (BAR_WIDTH + BAR_GAP)/2- 2.2*FONT_SIZE;
-+ (t_cfg+i)->at.y = EMIF_AREA_TR_Y + BORDER*1.2 -5;
-+
-+ /* Fixed strings */
-+ (t_cfg+i+1)->at.x = EMIF_AREA_BL_X + BORDER + (i-8) * (BAR_WIDTH + BAR_GAP)/2;
-+ (t_cfg+i+1)->at.y = EMIF_AREA_BL_Y;// - BORDER + FONT_SIZE;
-+
-+ strcpy(text[i],string_list[i]);
-+ strcpy(text[i+1],string_list[i+1]);
-+ }
-+
-+ (y_cfg+12)->region.bottom_left.x = INITIATORS_AREA_BL_X;
-+ (y_cfg+12)->region.bottom_left.y = INITIATORS_AREA_BL_Y;
-+ (y_cfg+12)->region.top_right.x = INITIATORS_AREA_TR_X;
-+ (y_cfg+12)->region.top_right.y = INITIATORS_AREA_TR_Y;
-+
-+ (t_cfg+12)->at.x = EMIF_AREA_TR_X + (INITIATORS_AREA_TR_X - INITIATORS_AREA_BL_X)/2 - 4 * FONT_SIZE;
-+ (t_cfg+12)->at.y = INITIATORS_AREA_TR_Y + FONT_SIZE;
-+ strcpy(text[12],string_list[12]);
-+
-+ for(i=13; i<25; i=i+2)
-+ {
-+ (y_cfg+i)->region.bottom_left.x = INITIATORS_AREA_BL_X + BORDER + (i-13)*(BAR_WIDTH+BAR_GAP)/2;
-+ (y_cfg+i)->region.bottom_left.y = INITIATORS_AREA_BL_Y - BORDER/2;// - (i-2) * (30);
-+ (y_cfg+i)->region.top_right.x = INITIATORS_AREA_BL_X + BORDER + BAR_WIDTH + (i-13) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i)->region.top_right.y = INITIATORS_AREA_TR_Y + BORDER*1.2;
-+
-+ (y_cfg+i)->fill_color.r = 1.0;
-+ (y_cfg+i)->fill_color.g = 0.0;
-+ (y_cfg+i)->fill_color.b = 0.0;
-+ (y_cfg+i)->fill_color.a = 0.1;
-+
-+ (y_cfg+i+1)->region.bottom_left.x = INITIATORS_AREA_BL_X + BORDER + (i-13) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i+1)->region.bottom_left.y = INITIATORS_AREA_BL_Y - BORDER/2;// - (i-2) * (30);
-+ (y_cfg+i+1)->region.top_right.x = INITIATORS_AREA_BL_X + BORDER + BAR_WIDTH + (i-13) * (BAR_WIDTH + BAR_GAP)/2;
-+ (y_cfg+i+1)->region.top_right.y = INITIATORS_AREA_TR_Y + BORDER* 1.2;
-+
-+ (y_cfg+i+1)->fill_color.r = 0.0;
-+ (y_cfg+i+1)->fill_color.g = 1.0;
-+ (y_cfg+i+1)->fill_color.b = 0.0;
-+ (y_cfg+i+1)->fill_color.a = 1.0;
-+
-+ (t_cfg+i)->at.x = INITIATORS_AREA_BL_X + BORDER + BAR_WIDTH + (i-13) * (BAR_WIDTH + BAR_GAP)/2 - 2.2* FONT_SIZE;
-+ (t_cfg+i)->at.y = INITIATORS_AREA_TR_Y + BORDER*1.2 -5;
-+
-+ (t_cfg+i+1)->at.x = INITIATORS_AREA_BL_X + BORDER + (i-13)*(BAR_WIDTH+BAR_GAP)/2;
-+ (t_cfg+i+1)->at.y = INITIATORS_AREA_BL_Y;
-+
-+ strcpy(text[i],string_list[i]);
-+ strcpy(text[i+1],string_list[i+1]);
-+ }
-+#endif
-+
-+#if 0
-+ for(i=0; i<25; i++)
-+ printf("(%d, %d) to (%d, %d)\n", (y_cfg +i)->region.bottom_left.x,(y_cfg +i)->region.bottom_left.y,(y_cfg +i)->region.top_right.x, (y_cfg +i)->region.top_right.y);
-+#endif
-+
-+
-+
-+ for(i=0; i<25; i++) {
-+ (t_cfg+i)->color.r = 0.0;
-+ (t_cfg+i)->color.g = 1.0;
-+ (t_cfg+i)->color.b = 1.0;
-+ (t_cfg+i)->color.a = 1.0;
-+ (t_cfg+i)->fontsize = FONT_SIZE;
-+ }
-+ (t_cfg+0)->fontsize = 20;
-+
-+
-+}
-+
-+
-+void statCollectorInit()
-+{
-+ int index;
-+
-+ gStatColState.stat0_filter_cnt = 0;
-+ gStatColState.stat1_filter_cnt = 0;
-+ gStatColState.stat2_filter_cnt = 0;
-+ gStatColState.stat3_filter_cnt = 0;
-+ gStatColState.stat4_filter_cnt = 0;
-+ gStatColState.stat5_filter_cnt = 0;
-+ gStatColState.stat6_filter_cnt = 0;
-+ gStatColState.stat7_filter_cnt = 0;
-+ gStatColState.stat8_filter_cnt = 0;
-+ gStatColState.stat9_filter_cnt = 0;
-+
-+ for(index=STATCOL_EMIF1_SYS; index < STATCOL_MAX; index++)
-+ {
-+ global_object[index].b_enabled = 0;
-+
-+ strcpy(global_object[index].name, initiators[index].name);
-+
-+ global_object[index].readings = malloc(TRACE_SZ * sizeof(UInt32));
-+ memset(global_object[index].readings, 0, TRACE_SZ * sizeof(UInt32));
-+
-+ global_object[index].timestamp = NULL;
-+
-+ global_object[index].group_id = 0xFF;
-+ global_object[index].counter_id = 0;
-+ global_object[index].base_address = 0;
-+ global_object[index].mux_req = 0;
-+ }
-+
-+}
-+
-+void wr_stat_reg(UInt32 address, UInt32 data)
-+{
-+ UInt32 *mymem = statcoll_base_mem;
-+ UInt32 delta = (address - STATCOLL_BASE) / 4;
-+#ifndef DUMMY_MODE
-+ mymem[delta] = data;
-+#else
-+ printf("WRITE: Address = 0x%x, Data = 0x%x\n", address, data);
-+#endif
-+}
-+
-+UInt32 rd_stat_reg(UInt32 address)
-+{
-+#ifndef DUMMY_MODE
-+ UInt32 *mymem = statcoll_base_mem;
-+ UInt32 data;
-+ UInt32 delta = (address - STATCOLL_BASE) / 4;
-+ data = mymem[delta];
-+ return data;
-+#else
-+ printf("READ: Address = 0x%x\n", address);
-+#endif
-+}
-+
-+UInt32 statCollectorControlInitialize(UInt32 instance_id)
-+{
-+ UInt32 cur_base_address = 0;
-+ UInt32 cur_event_mux_req;
-+ UInt32 cur_event_mux_resp;
-+ UInt32 cur_stat_filter_cnt;
-+
-+ switch (instance_id)
-+ {
-+ case STATCOL_EMIF1_SYS:
-+ cur_base_address = stat_coll0_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat0_filter_cnt = gStatColState.stat0_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat0_filter_cnt;
-+ global_object[instance_id].group_id = 0;
-+ break;
-+ case STATCOL_EMIF2_SYS:
-+ cur_base_address = stat_coll0_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat0_filter_cnt = gStatColState.stat0_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat0_filter_cnt;
-+ global_object[instance_id].group_id = 0;
-+ break;
-+ case STATCOL_MA_MPU_P1:
-+ cur_base_address = stat_coll0_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat0_filter_cnt = gStatColState.stat0_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat0_filter_cnt;
-+ global_object[instance_id].group_id = 0;
-+ break;
-+ case STATCOL_MA_MPU_P2:
-+ cur_base_address = stat_coll0_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat0_filter_cnt = gStatColState.stat0_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat0_filter_cnt;
-+ global_object[instance_id].group_id = 0;
-+ break;
-+ case STATCOL_MPU1:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_MMU1:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_TPTC_RD1:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_TPTC_WR1:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_TPTC_RD2:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_TPTC_WR2:
-+ cur_base_address = stat_coll1_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat1_filter_cnt = gStatColState.stat1_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat1_filter_cnt;
-+ global_object[instance_id].group_id = 1;
-+ break;
-+ case STATCOL_VIP1_P1:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VIP1_P2:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VIP2_P1:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VIP2_P2:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VIP3_P1:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VIP3_P2:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VPE_P1:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_VPE_P2:
-+ cur_base_address = stat_coll2_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat2_filter_cnt = gStatColState.stat2_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat2_filter_cnt;
-+ global_object[instance_id].group_id = 2;
-+ break;
-+ case STATCOL_EVE1_TC0:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE1_TC1:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE2_TC0:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE2_TC1:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE3_TC0:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE3_TC1:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE4_TC0:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_EVE4_TC1:
-+ cur_base_address = stat_coll3_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat3_filter_cnt = gStatColState.stat3_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat3_filter_cnt;
-+ global_object[instance_id].group_id = 3;
-+ break;
-+ case STATCOL_DSP1_MDMA:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_DSP1_EDMA:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_DSP2_MDMA:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_DSP2_EDMA:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_IVA:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_GPU_P1:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_GPU_P2:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_BB2D_P1:
-+ cur_base_address = stat_coll4_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat4_filter_cnt = gStatColState.stat4_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat4_filter_cnt;
-+ global_object[instance_id].group_id = 4;
-+ break;
-+ case STATCOL_DSS:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_CSI2_2:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_MMU2:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_IPU1:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_IPU2:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_DMA_SYSTEM_RD:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_DMA_SYSTEM_WR:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_CSI2_1:
-+ cur_base_address = stat_coll5_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat5_filter_cnt = gStatColState.stat5_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat5_filter_cnt;
-+ global_object[instance_id].group_id = 5;
-+ break;
-+ case STATCOL_USB3_SS:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_USB2_SS:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_USB2_ULPI_SS1:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_USB2_ULPI_SS2:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_PCIE_SS1:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_PCIE_SS2:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_DSP1_CFG:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_DSP2_CFG:
-+ cur_base_address = stat_coll6_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat6_filter_cnt = gStatColState.stat6_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat6_filter_cnt;
-+ global_object[instance_id].group_id = 6;
-+ break;
-+ case STATCOL_GMAC_SW:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_PRUSS1_P1:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_PRUSS1_P2:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_PRUSS2_P1:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_PRUSS2_P2:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_DMA_CRYPTO_RD:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_DMA_CRYPTO_WR:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_MPU2:
-+ cur_base_address = stat_coll7_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat7_filter_cnt = gStatColState.stat7_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat7_filter_cnt;
-+ global_object[instance_id].group_id = 7;
-+ break;
-+ case STATCOL_MMC1:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_MMC2:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_SATA:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_MLBSS:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_BB2D_P2:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_IEEE1500:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_DBG:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_VCP1:
-+ cur_base_address = stat_coll8_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat8_filter_cnt = gStatColState.stat8_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat8_filter_cnt;
-+ global_object[instance_id].group_id = 8;
-+ break;
-+ case STATCOL_OCMC_RAM1:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 0;
-+ cur_event_mux_resp = 1;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_OCMC_RAM2:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 2;
-+ cur_event_mux_resp = 3;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_OCMC_RAM3:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 4;
-+ cur_event_mux_resp = 5;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_GPMC:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 6;
-+ cur_event_mux_resp = 7;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_MCASP1:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 8;
-+ cur_event_mux_resp = 9;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_MCASP2:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 10;
-+ cur_event_mux_resp = 11;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_MCASP3:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 12;
-+ cur_event_mux_resp = 13;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ case STATCOL_VCP2:
-+ cur_base_address = stat_coll9_base_address;
-+ cur_event_mux_req = 14;
-+ cur_event_mux_resp = 15;
-+ gStatColState.stat9_filter_cnt = gStatColState.stat9_filter_cnt + 1;
-+ cur_stat_filter_cnt = gStatColState.stat9_filter_cnt;
-+ global_object[instance_id].group_id = 9;
-+ break;
-+ default:
-+ printf("ERROR: Unknown initiator %d\n", instance_id);
-+ exit(0);
-+ };
-+
-+ {
-+ if ( cur_stat_filter_cnt > 4 )
-+ {
-+ printf("WARNING: We have exhausted filters/counters.....\n");
-+ return 0;
-+ }
-+ // Global Enable Stat Collector
-+ wr_stat_reg(cur_base_address+0x8,0x1);
-+
-+ // Soft Enable Stat Collector
-+ wr_stat_reg(cur_base_address+0xC,0x1);
-+
-+ wr_stat_reg(cur_base_address+0x18,0x5);
-+ // Operation of Stat Collector / RespEvt => Packet
-+ wr_stat_reg(cur_base_address+0x1C,0x5);
-+
-+
-+ // Event Sel
-+ wr_stat_reg(cur_base_address+0x20+4*(cur_stat_filter_cnt-1),cur_event_mux_req);
-+
-+ // Op is EventInfo
-+ wr_stat_reg(cur_base_address+0x1FC+(0x158*(cur_stat_filter_cnt-1)),2);
-+
-+ // Event Info Sel Op -> packet length
-+ wr_stat_reg(cur_base_address+0x1F8+(0x158*(cur_stat_filter_cnt-1)),0);
-+
-+ // Filter Global Enable
-+ wr_stat_reg(cur_base_address+0xAC+(0x158*(cur_stat_filter_cnt-1)),0x1);
-+
-+ // Filter Enable
-+ wr_stat_reg(cur_base_address+0xBC+(0x158*(cur_stat_filter_cnt-1)),0x1);
-+
-+ // Manual dump
-+ wr_stat_reg(cur_base_address+0x54,0x1);
-+ // use send register to reset counters
-+
-+ }
-+
-+ global_object[instance_id].mux_req = cur_event_mux_req;
-+ global_object[instance_id].base_address = cur_base_address;
-+ global_object[instance_id].counter_id = cur_stat_filter_cnt;
-+ global_object[instance_id].b_enabled = 1;
-+
-+ return cur_stat_filter_cnt;
-+}
-+
-+
-+
-+void statCollectorReadGroup(UInt32 group_id)
-+{
-+ int i=0;
-+ UInt32 cur_base_address = 0x45001000 + ((group_id - 1) * 0x1000);
-+
-+ wr_stat_reg(cur_base_address+0xC,0x0);
-+
-+ for(i=0; i < STATCOL_MAX; i++)
-+ {
-+ if(global_object[i].group_id == (group_id - 1) &&
-+ global_object[i].b_enabled == 1)
-+ {
-+ UInt32 cur_stat_filter_cnt = global_object[i].counter_id;
-+
-+ global_object[i].readings[statCountIdx] = rd_stat_reg(cur_base_address+0x8C+((cur_stat_filter_cnt-1)*4));
-+ }
-+ }
-+
-+ wr_stat_reg(cur_base_address+0xC,0x1);
-+}
-+
-+
-+volatile sig_atomic_t sigtermed = 0;
-+
-+void my_signal_handler(int signum)
-+{
-+ if (signum == SIGTERM || signum == SIGINT) {
-+ sigtermed = 1;
-+ }
-+}
-+
-+struct sort
-+{
-+ int pos;
-+ double value;
-+};
-+
-+
-+void *ctx;
-+struct time_graph_create_params p;
-+char xpos_string[100], ypos_string[100];
-+
-+void mpu_handler(int command)
-+{
-+#if 1
-+ static int fd;
-+ char buf[1000];
-+ char * tabledata= "/tmp/statcollfifo";
-+ int i;
-+ int bytes;
-+ static int offset = 13;
-+
-+ switch(command)
-+ {
-+ case OPEN:
-+ fd = open(tabledata, O_RDONLY|O_NONBLOCK);
-+ break;
-+
-+ case READ:
-+
-+ /* open, read, and display the message from the FIFO */
-+ bytes=read(fd, buf, 1000);
-+ if(bytes > 0)
-+ {
-+ char str[100];
-+ char value[100];
-+ sscanf(buf, "%s %s", str, value);
-+ if(strcmp(str, "MOVE:") == 0)
-+ {
-+ printf("Received MOVE command : %s\n", buf);
-+ sprintf(p.title, "CPU Usage[@position-req=%sx%s]", value, ypos_string);
-+ move_graph(ctx, &p);
-+ }
-+ else
-+ {
-+ printf("ERROR: Received unexpected data from FIFO - \" %s \" \n", buf);
-+ }
-+ memset(buf, 0x0, sizeof(buf));
-+ }
-+
-+ break;
-+
-+ case CLOSE:
-+ close(fd);
-+ break;
-+ }
-+#endif
-+ return;
-+}
-+
-+
-+UInt32 statcoll_start(UInt32 TOTAL_TIME, UInt32 INTERVAL_US, char list[][50], UInt32 xpos, UInt32 ypos)
-+{
-+ int i, fd, index;
-+ UInt32 counterIdDss, counterIdIva, counterIdBB2dP1, counterIdBB2dP2, counterIdUsb4, counterIdSata, counterIdEmif1, counterIdEmif2;
-+
-+ if (SIG_ERR == signal(SIGPIPE,SIG_IGN))
-+ exit(1);
-+
-+ if (SIG_ERR == signal(SIGINT,my_signal_handler))
-+ exit(1);
-+
-+ if (SIG_ERR == signal(SIGTERM,my_signal_handler))
-+ exit(1);
-+
-+
-+ struct timeval tv1, tv2;
-+ gettimeofday(&tv1, NULL);
-+ printf("------------------------------------------------\n");
-+ printf("Compile time = %s %s\n",__DATE__, __TIME__);
-+ printf("------------------------------------------------\n\n");
-+ //printd("Start time = %d\n", time(NULL));
-+ //printd("Time seconds = %d, usecs = %d\n", tv.tv_sec, tv.tv_usec);
-+
-+ statcoll_params params;
-+ memset(&params, sizeof(params), 0);
-+ params.INTERVAL_US = INTERVAL_US;
-+ params.TOTAL_TIME = TOTAL_TIME;
-+
-+ i=0;
-+ index=0;
-+
-+ while(list[i][0] != 0)
-+ {
-+ for(index=0; index< STATCOL_MAX; index++) {
-+ if(strcmp(list[i], initiators[index].name) == 0)
-+ {
-+ strcpy(params.user_config_list[params.no_of_initiators].name, list[i]);
-+ params.user_config_list[params.no_of_initiators++].id = initiators[index].id;
-+ break;
-+ }
-+ }
-+
-+ if(index == STATCOL_MAX) {
-+ printf("ERROR: Unknown initiator.%d.. .%s. \n", i, list[i]);
-+ //exit(0);
-+ }
-+ i++;
-+ }
-+
-+ struct bar_graph_create_params bg_p;
-+ struct _y_config *y_cfg;
-+ struct _text_config *t_cfg;
-+ double *y;
-+ double *bg_y;
-+ char *text_list[STATCOL_MAX];
-+
-+ struct _bar_graph_y_config *bg_y_cfg;
-+ struct _text_config *bg_t_cfg;
-+ char *bg_text_list[STATCOL_MAX];
-+
-+ sprintf(xpos_string, "%d", xpos);
-+ sprintf(ypos_string, "%d", ypos);
-+ p.title=(char *)malloc(100);
-+ sprintf(p.title, "CPU Usage[@position-req=%sx%s]", xpos_string, ypos_string);
-+ //p.height = MAX_HEIGHT - HEIGHT_EMIF_AREA;
-+ p.height = MAX_HEIGHT;// - HEIGHT_EMIF_AREA;
-+ p.width = MAX_WIDTH;
-+ p.draw_area.bottom_left.x = TIME_GRAPH_AREA_BL_X;
-+ p.draw_area.bottom_left.y = TIME_GRAPH_AREA_BL_Y;
-+ p.draw_area.top_right.x = TIME_GRAPH_AREA_TR_X;
-+ p.draw_area.top_right.y = TIME_GRAPH_AREA_TR_Y;
-+ p.time_span = 120000; // 120 seconds
-+ p.num_of_y_items = params.no_of_initiators+1;
-+ p.num_of_text_items = 0;//params.no_of_initiators;
-+
-+
-+ y_cfg = malloc((params.no_of_initiators+1) * sizeof(struct _y_config));
-+ t_cfg = malloc(params.no_of_initiators * sizeof(struct _text_config));
-+ y = malloc((params.no_of_initiators+1) * sizeof(double));
-+ p.y_config_array = y_cfg;
-+ p.text_config_array = t_cfg;
-+
-+ bg_y_cfg = malloc(TOTAL_Y_PARAMETERS * sizeof(struct _bar_graph_y_config));
-+ bg_t_cfg = malloc(TOTAL_Y_PARAMETERS * sizeof(struct _text_config));
-+ bg_y = malloc(TOTAL_Y_PARAMETERS * sizeof(double));
-+
-+ for(i=0; i<TOTAL_Y_PARAMETERS; i++)
-+ {
-+ bg_text_list[i] = malloc(100);
-+ strcpy(bg_text_list[i],"test");
-+ }
-+
-+ create_overall_box(bg_y_cfg, bg_t_cfg, bg_text_list);
-+
-+
-+ i=0;
-+ while(i < params.no_of_initiators)
-+ {
-+ text_list[i] = malloc(100 * sizeof(char));
-+ memset(text_list[i], 0x0, 100);
-+
-+ ((struct _y_config *)y_cfg+i)->line_color.r = pallette[i%MAX_COLORS].r;
-+ ((struct _y_config *)y_cfg+i)->line_color.g = pallette[i%MAX_COLORS].g;
-+ ((struct _y_config *)y_cfg+i)->line_color.b = pallette[i%MAX_COLORS].b;
-+ ((struct _y_config *)y_cfg+i)->line_color.a = 0.0;//pallette[i%MAX_COLORS].a;
-+
-+ ((struct _y_config *)y_cfg+i)->fill_color.r = 0.0;
-+ ((struct _y_config *)y_cfg+i)->fill_color.g = 1.0;
-+ ((struct _y_config *)y_cfg+i)->fill_color.b = 0.0;
-+ ((struct _y_config *)y_cfg+i)->fill_color.a = 0.5;
-+
-+ i++;
-+ }
-+
-+ ((struct _y_config *)y_cfg+i)->line_color.r = 0.0;
-+ ((struct _y_config *)y_cfg+i)->line_color.g = 0.0;
-+ ((struct _y_config *)y_cfg+i)->line_color.b = 0.0;
-+ ((struct _y_config *)y_cfg+i)->line_color.a = 0.5;
-+ ((struct _y_config *)y_cfg+i)->fill_color.r = 0.1;
-+ ((struct _y_config *)y_cfg+i)->fill_color.g = 0.9;
-+ ((struct _y_config *)y_cfg+i)->fill_color.b = 0.5;
-+ ((struct _y_config *)y_cfg+i)->fill_color.a = 1.0;
-+
-+ bg_p.title = "CPU Usage";
-+
-+ bg_p.num_of_y_items = TOTAL_Y_PARAMETERS;
-+ bg_p.y_config_array = bg_y_cfg;
-+ bg_p.num_of_text_items = TOTAL_Y_PARAMETERS;
-+ bg_p.text_config_array = bg_t_cfg;
-+
-+
-+ int argc;
-+ char *argv[10];
-+ ctx = time_graph_create(argc, argv, &p);
-+ if (!ctx) {
-+ printf("Error creating context\n");
-+ exit(0);
-+ }
-+
-+ printf("\n Context after time_graph_create = 0x%x\n", ctx);
-+ ctx = bar_graph_create(argc, argv, &bg_p);
-+ if (!ctx) {
-+ printf("Error creating context\n");
-+ exit(0);
-+ }
-+
-+ printf("\n Context after bar_graph_create= 0x%x\n", ctx);
-+
-+ printf("Total configured initiators = %d\n", params.no_of_initiators);
-+
-+
-+ fd = open("/dev/mem", O_RDWR);
-+ if (fd == -1){
-+ printf("error fd=open() \n");
-+ return -1;
-+ }
-+ statcoll_base_mem = mmap(NULL, STATCOLL_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, fd, STATCOLL_BASE);
-+
-+ if (statcoll_base_mem == MAP_FAILED){
-+ printf("ERROR: mmap failed \n");
-+ return;
-+ }
-+ close(fd);
-+
-+ fd = open("/dev/mem", O_RDWR);
-+ if (fd == -1){
-+ printf("error fd=open() \n");
-+ return -1;
-+ }
-+ l3_3_clkctrl = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, CM_L3INSTR_REGISTER_BASE);
-+ if (l3_3_clkctrl == MAP_FAILED){
-+ printf("ERROR: mmap failed for CM_L3INSTR_REGISTER_BASE\n");
-+ return;
-+ }
-+ close(fd);
-+
-+ printf("SUCCESS: Mapped 0x%x to user space address 0x%x\n", STATCOLL_BASE, statcoll_base_mem);
-+ printf("INTERVAL = %d usecs\n", INTERVAL_US);
-+ printf("TOTAL TIME = %d seconds\n", TOTAL_TIME);
-+ TRACE_SZ = (TOTAL_TIME * 1000000)/INTERVAL_US;
-+ printf("TRACE SIZE = %d samples\n", TRACE_SZ);
-+
-+ printf("**************************************\n");
-+ printf("Going to initialize the L3 clocks \n");
-+ l3_3_clkctrl[CM_L3INSTR_L3INSTR_CLKSTCTRL_OFFSET >> 2] = 0x2;
-+ l3_3_clkctrl[CM_L3INSTR_L3_MAIN_2_CLKCTRL_OFFSET >> 2] = 0x1;
-+ printf("**************************************\n");
-+
-+ while( (l3_3_clkctrl[CM_L3INSTR_L3_MAIN_2_CLKCTRL_OFFSET >> 2] & 0x30000) != 0x0)
-+ {
-+ printf("Waiting on module to be functional\n");
-+ }
-+
-+ statCollectorInit();
-+
-+ printf("SUCCESS: Initialized STAT COLLECTOR\n");
-+ /* Initialize all enabled initiators */
-+ for(index =0; index < params.no_of_initiators; index++) {
-+ printf("\t\t Initialized %s\n", params.user_config_list[index].name);
-+ statCollectorControlInitialize(params.user_config_list[index].id);
-+ }
-+
-+ const char *bg_text = "CPU Utilization";
-+
-+ int second_counter=0;
-+ memset(y, 0x0, sizeof(double)* (params.no_of_initiators+1));
-+
-+
-+
-+
-+ mpu_handler(OPEN);
-+
-+
-+ while(statCountIdx != (TRACE_SZ - 1))
-+ {
-+ usleep(INTERVAL_US);
-+ int group;
-+ for(group = 1; group<11; group++)
-+ statCollectorReadGroup(group);
-+
-+ mpu_handler(READ);
-+
-+ if(statCountIdx != 0 )
-+ for(i=0; i<params.no_of_initiators; i++) {
-+ y[i] += (double)(global_object[params.user_config_list[i].id].readings[statCountIdx])/ (8000000000);
-+ }
-+ second_counter++;
-+
-+ if(second_counter % 30 == 0)
-+ {
-+
-+ for(i=0; i<TOTAL_Y_PARAMETERS; i++) {
-+ bg_y[i] = 1.0;
-+ }
-+
-+ //HACK
-+ bg_y[9]=y[0]*2;
-+ bg_y[11]=y[1]*2;
-+ sprintf(bg_text_list[8], "%02.1f%s", y[0]*100, "%");
-+ sprintf(bg_text_list[10], "%02.1f%s", y[1]*100, "%");
-+
-+ struct sort sort_array[STATCOL_MAX];
-+ memset(sort_array, 0x0, sizeof(struct sort) * STATCOL_MAX);
-+ /* Sort here */
-+ for(i=2; i<params.no_of_initiators; i++) {
-+ sort_array[i-2].value = y[i];
-+ sort_array[i-2].pos = i;
-+ }
-+
-+ int j;
-+ double tempdouble;
-+ int tempint;
-+ for(i=0; i<params.no_of_initiators-2; i++) {
-+ for(j=i+1; j<params.no_of_initiators-2; j++) {
-+ if(sort_array[i].value < sort_array[j].value) {
-+ tempdouble = sort_array[j].value;
-+ tempint = sort_array[j].pos;
-+
-+ sort_array[j].value = sort_array[i].value;
-+ sort_array[j].pos = sort_array[i].pos;
-+
-+ sort_array[i].value = tempdouble;
-+ sort_array[i].pos = tempint;
-+ }
-+ }
-+ }
-+
-+ for(i=0; i<6; i++)
-+ {
-+ //HACK
-+ bg_y[14+i*2] = sort_array[i].value*2;
-+ sprintf(bg_text_list[13+i*2], "%02.1f%s", sort_array[i].value*100, "%");
-+ sprintf(bg_text_list[14+i*2], "%s", (params.user_config_list[sort_array[i].pos].name)+8);
-+ }
-+
-+ bar_graph_plot(ctx, bg_y, (const char **)bg_text_list);
-+
-+ y[params.no_of_initiators]=y[0]+y[1];
-+ time_graph_plot(ctx, y, (const char **)text_list);
-+ //printf("Plotting the time_graph\n");
-+ memset(y, 0x0, sizeof(double)* (params.no_of_initiators+1));
-+ }
-+ statCountIdx++;
-+
-+ }
-+
-+ mpu_handler(CLOSE);
-+
-+ printf("------------------------------------------------\n\n");
-+ printf("SUCCESS: Stat collection completed... Writing into file now\n");
-+ FILE *outfile = fopen("statcollector.csv", "w+");
-+ if (!outfile) {
-+ printf("\n ERROR: Error opening file");
-+ }
-+
-+ /* Ignore the first index at 0 */
-+ for(index=1; index<statCountIdx; index++) {
-+ for(i=0; i<params.no_of_initiators; i++) {
-+ fprintf(outfile,"%s = %d,", params.user_config_list[i].name, global_object[params.user_config_list[i].id].readings[index]);
-+ }
-+ fprintf(outfile,"\n");
-+ }
-+ fclose(outfile);
-+
-+ time_graph_destroy(ctx);
-+ gettimeofday(&tv2, NULL);
-+ //printf("End time = %d\n", time(NULL));
-+ //printf("Time seconds = %d, usecs = %d\n", tv.tv_sec, tv.tv_usec);
-+ printf("Total execution time = %d secs, %d usecs\n\n", (tv2.tv_sec - tv1.tv_sec), (tv2.tv_usec - tv2.tv_usec));
-+
-+ return 0;
-+}
-+
-+
-diff --git a/clients/statcoll.h b/clients/statcoll.h
-new file mode 100644
-index 0000000..fa92753
---- /dev/null
-+++ b/clients/statcoll.h
-@@ -0,0 +1,152 @@
-+#ifndef __STATCOLL_H
-+#define __STATCOLL_H
-+
-+
-+#define CM_L3INSTR_REGISTER_BASE (0x4A008000)
-+
-+#define CM_L3INSTR_L3INSTR_CLKSTCTRL_OFFSET (0xE00)
-+#define CM_L3INSTR_L3_MAIN_2_CLKCTRL_OFFSET (0xE20)
-+
-+#define STATCOLL_SIZE 40960
-+#define STATCOLL_BASE (0x45001000)
-+
-+#define stat_coll0_base_address (0x45001000)
-+#define stat_coll1_base_address (0x45002000)
-+#define stat_coll2_base_address (0x45003000)
-+#define stat_coll3_base_address (0x45004000)
-+#define stat_coll4_base_address (0x45005000)
-+#define stat_coll5_base_address (0x45006000)
-+#define stat_coll6_base_address (0x45007000)
-+#define stat_coll7_base_address (0x45008000)
-+#define stat_coll8_base_address (0x45009000)
-+#define stat_coll9_base_address (0x4500a000)
-+
-+#define printd(fmt, ...) \
-+ do { if (debug) fprintf(stderr, fmt, __VA_ARGS__); } while (0)
-+
-+typedef unsigned int UInt32;
-+
-+
-+typedef enum
-+{
-+ STATCOL_EMIF1_SYS,
-+ STATCOL_EMIF2_SYS,
-+ STATCOL_MA_MPU_P1,
-+ STATCOL_MA_MPU_P2,
-+ STATCOL_MPU1,
-+ STATCOL_MMU1,
-+ STATCOL_TPTC_RD1,
-+ STATCOL_TPTC_WR1,
-+ STATCOL_TPTC_RD2,
-+ STATCOL_TPTC_WR2,
-+ STATCOL_VIP1_P1,
-+ STATCOL_VIP1_P2,
-+ STATCOL_VIP2_P1,
-+ STATCOL_VIP2_P2,
-+ STATCOL_VIP3_P1,
-+ STATCOL_VIP3_P2,
-+ STATCOL_VPE_P1,
-+ STATCOL_VPE_P2,
-+ STATCOL_EVE1_TC0,
-+ STATCOL_EVE1_TC1,
-+ STATCOL_EVE2_TC0,
-+ STATCOL_EVE2_TC1,
-+ STATCOL_EVE3_TC0,
-+ STATCOL_EVE3_TC1,
-+ STATCOL_EVE4_TC0,
-+ STATCOL_EVE4_TC1,
-+ STATCOL_DSP1_MDMA,
-+ STATCOL_DSP1_EDMA,
-+ STATCOL_DSP2_MDMA,
-+ STATCOL_DSP2_EDMA,
-+ STATCOL_IVA,
-+ STATCOL_GPU_P1,
-+ STATCOL_GPU_P2,
-+ STATCOL_BB2D_P1,
-+ STATCOL_DSS,
-+ STATCOL_CSI2_2,
-+ STATCOL_MMU2,
-+ STATCOL_IPU1,
-+ STATCOL_IPU2,
-+ STATCOL_DMA_SYSTEM_RD,
-+ STATCOL_DMA_SYSTEM_WR,
-+ STATCOL_CSI2_1,
-+ STATCOL_USB3_SS,
-+ STATCOL_USB2_SS,
-+ STATCOL_USB2_ULPI_SS1,
-+ STATCOL_USB2_ULPI_SS2,
-+ STATCOL_PCIE_SS1,
-+ STATCOL_PCIE_SS2,
-+ STATCOL_DSP1_CFG,
-+ STATCOL_DSP2_CFG,
-+ STATCOL_GMAC_SW,
-+ STATCOL_PRUSS1_P1,
-+ STATCOL_PRUSS1_P2,
-+ STATCOL_PRUSS2_P1,
-+ STATCOL_PRUSS2_P2,
-+ STATCOL_DMA_CRYPTO_RD,
-+ STATCOL_DMA_CRYPTO_WR,
-+ STATCOL_MPU2,
-+ STATCOL_MMC1,
-+ STATCOL_MMC2,
-+ STATCOL_SATA,
-+ STATCOL_MLBSS,
-+ STATCOL_BB2D_P2,
-+ STATCOL_IEEE1500,
-+ STATCOL_DBG,
-+ STATCOL_VCP1,
-+ STATCOL_OCMC_RAM1,
-+ STATCOL_OCMC_RAM2,
-+ STATCOL_OCMC_RAM3,
-+ STATCOL_GPMC,
-+ STATCOL_MCASP1,
-+ STATCOL_MCASP2,
-+ STATCOL_MCASP3,
-+ STATCOL_VCP2,
-+ STATCOL_MAX
-+} STATCOL_ID;
-+
-+
-+
-+typedef struct
-+{
-+ UInt32 stat0_filter_cnt;
-+ UInt32 stat1_filter_cnt;
-+ UInt32 stat2_filter_cnt;
-+ UInt32 stat3_filter_cnt;
-+ UInt32 stat4_filter_cnt;
-+ UInt32 stat5_filter_cnt;
-+ UInt32 stat6_filter_cnt;
-+ UInt32 stat7_filter_cnt;
-+ UInt32 stat8_filter_cnt;
-+ UInt32 stat9_filter_cnt;
-+} StatCollectorObj;
-+
-+struct list_of_initiators
-+{
-+ STATCOL_ID id;
-+ char name[50];
-+};
-+
-+typedef struct
-+{
-+ UInt32 INTERVAL_US;
-+ UInt32 TOTAL_TIME;
-+ UInt32 no_of_initiators;
-+ struct list_of_initiators user_config_list[STATCOL_MAX];
-+} statcoll_params;
-+
-+typedef struct
-+{
-+ UInt32 b_enabled;
-+ char name[100];
-+ UInt32 *readings;
-+ UInt32 *timestamp;
-+ UInt32 group_id;
-+ UInt32 counter_id;
-+ UInt32 base_address;
-+ UInt32 mux_req;
-+}statcoll_initiators_object;
-+
-+
-+#endif
-diff --git a/clients/statcoll_gui.h b/clients/statcoll_gui.h
-new file mode 100644
-index 0000000..7362bde
---- /dev/null
-+++ b/clients/statcoll_gui.h
-@@ -0,0 +1,101 @@
-+
-+/*
-+
-+ ---------------------------------------------
-+ | |
-+ | --------------------------------------- |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ | |
-+ ---------------------------------------------
-+ | | |
-+ | | |
-+ | | |
-+ | | |
-+ | | |
-+ | | |
-+ ---------------------------------------------
-+
-+
-+
-+
-+*/
-+#define POSITION_X 2800
-+#define POSITION_Y 40
-+
-+#define MAX_WIDTH 900
-+//#define MAX_WIDTH 528
-+#define MAX_HEIGHT 900
-+
-+/* Derived parameters */
-+#define BAR_GAP (MAX_WIDTH/25)
-+#define BAR_WIDTH (MAX_WIDTH/16)
-+
-+#define BAR_HEIGHT ((MX_HEIGHT/40) * 6)
-+
-+#define BORDER (MAX_WIDTH/15)
-+
-+#define HEIGHT_EMIF_AREA (MAX_HEIGHT/4)
-+
-+#define FONT_SIZE (MAX_WIDTH/40)
-+
-+#define WIDTH_EMIF_AREA (MAX_WIDTH / 4)
-+
-+#define TOTAL_Y_PARAMETERS (25)
-+
-+#define TIME_GRAPH_AREA_BL_X (BORDER)
-+#define TIME_GRAPH_AREA_BL_Y (MAX_HEIGHT - HEIGHT_EMIF_AREA - BORDER)
-+#define TIME_GRAPH_AREA_TR_X (MAX_WIDTH - BORDER)
-+#define TIME_GRAPH_AREA_TR_Y (BORDER)
-+
-+#define EMIF_AREA_BL_X (0)
-+#define EMIF_AREA_BL_Y (MAX_HEIGHT)
-+#define EMIF_AREA_TR_X (WIDTH_EMIF_AREA)
-+#define EMIF_AREA_TR_Y (MAX_HEIGHT - HEIGHT_EMIF_AREA)
-+
-+#define INITIATORS_AREA_BL_X (WIDTH_EMIF_AREA)
-+#define INITIATORS_AREA_BL_Y (MAX_HEIGHT)
-+#define INITIATORS_AREA_TR_X (MAX_WIDTH)
-+#define INITIATORS_AREA_TR_Y (MAX_HEIGHT - HEIGHT_EMIF_AREA)
-+
-+
-+const char *string_list[TOTAL_Y_PARAMETERS] = {
-+ "----DDR BANDWIDTH PLOT----",
-+ "8 GBPS",
-+ "6.4 ",
-+ "4.8",
-+ "3.2",
-+ "1.6",
-+ "0",
-+ "EMIF Plot",
-+ "test",
-+ "EMIF1",
-+ "test",
-+ "EMIF2",
-+ "TOP 6 INITIATORS",
-+ "test",
-+ "MPU",
-+ "test",
-+ "DSS",
-+ "test",
-+ "DSP",
-+ "test",
-+ "IVA",
-+ "test",
-+ "GPU",
-+ "test",
-+ "BB2D",
-+};
-+
-diff --git a/clients/time_bar_graph.c b/clients/time_bar_graph.c
-new file mode 100644
-index 0000000..9fa9c12
---- /dev/null
-+++ b/clients/time_bar_graph.c
-@@ -0,0 +1,515 @@
-+/*
-+ * Copyright © 2008 Kristian Høgsberg
-+ *
-+ * Permission to use, copy, modify, distribute, and sell this software and its
-+ * documentation for any purpose is hereby granted without fee, provided that
-+ * the above copyright notice appear in all copies and that both that copyright
-+ * notice and this permission notice appear in supporting documentation, and
-+ * that the name of the copyright holders not be used in advertising or
-+ * publicity pertaining to distribution of the software without specific,
-+ * written prior permission. The copyright holders make no representations
-+ * about the suitability of this software for any purpose. It is provided "as
-+ * is" without express or implied warranty.
-+ *
-+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-+ * OF THIS SOFTWARE.
-+ */
-+
-+#include <stdint.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <stdint.h>
-+#include <signal.h>
-+#include <time.h>
-+#include <math.h>
-+#include <cairo.h>
-+#include <sys/time.h>
-+#include <pthread.h>
-+#include <errno.h>
-+#include <unistd.h>
-+#include <sys/eventfd.h>
-+#include <sys/epoll.h>
-+
-+#include <linux/input.h>
-+#include <wayland-client.h>
-+#include "window.h"
-+#include "../shared/cairo-util.h"
-+#include "time_bar_graph.h"
-+
-+//#define DEBUG 1
-+#ifdef DEBUG
-+#define DBG(x...) printf(x)
-+#else
-+#define DBG(x...) // printf(x)
-+#endif
-+
-+#define MAX_ITEMS 180
-+#define MAX_TEXT_SIZE 128
-+
-+struct graph_dataset_point {
-+ int next_index;
-+ double y_values[MAX_ITEMS];
-+};
-+
-+struct graph_data {
-+ int dataset_size;
-+ int first_index, last_index, num_elems;
-+ uint64_t last_time;
-+ struct graph_dataset_point dataset[1];
-+};
-+
-+struct graph {
-+ struct display *display;
-+ struct window *window;
-+ struct widget *widget;
-+ int width, height;
-+ struct time_graph_create_params params;
-+ struct bar_graph_create_params bar_graph_params;
-+ struct _y_config y_config_array[MAX_ITEMS];
-+ struct _text_config text_config_array[MAX_ITEMS];
-+
-+ /* Bar graph parameters */
-+ struct _bar_graph_y_config bar_graph_y_config_array[MAX_ITEMS];
-+ struct _text_config bar_graph_text_config_array[MAX_ITEMS];
-+
-+ pthread_t thr;
-+ int eventfd;
-+ struct task task;
-+ double x_scaling_factor;
-+ pthread_mutex_t mtx;
-+ double time_graph_y_values[MAX_ITEMS];
-+ char text_values[MAX_ITEMS][MAX_TEXT_SIZE];
-+
-+ double bar_graph_y_values[MAX_ITEMS];
-+ char bar_graph_text_values[MAX_ITEMS][MAX_TEXT_SIZE];
-+
-+ uint64_t time_now;
-+ time_t start_time_tv_sec;
-+ struct graph_data *data;
-+};
-+
-+struct graph *global_graph=NULL;
-+static void
-+draw_stuff(struct graph *g, cairo_surface_t *surface)
-+{
-+ cairo_t *cr;
-+ int i, j, n_elems;
-+ double c_x, c_y, d_x, d_y;
-+
-+ cr = cairo_create(surface);
-+ cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
-+ cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.5);
-+ cairo_paint(cr);
-+ cairo_select_font_face(cr, "mono",
-+ CAIRO_FONT_SLANT_NORMAL,
-+ CAIRO_FONT_WEIGHT_BOLD);
-+ cairo_set_line_width (cr, 1.0);
-+ cairo_set_operator(cr, CAIRO_OPERATOR_OVER);
-+ pthread_mutex_lock(&g->mtx);
-+ for (j=0; g->data->num_elems > 0 && j<g->params.num_of_y_items; j++) {
-+ n_elems = g->data->num_elems;
-+ DBG("first_index: %d, last_index: %d\n", g->data->first_index, g->data->last_index);
-+ if (g->y_config_array[j].fill_color.a != 0.0)
-+ cairo_move_to(cr, (double)g->params.draw_area.bottom_left.x, (double)g->params.draw_area.bottom_left.y);
-+ c_x = (double)g->params.draw_area.bottom_left.x;
-+ c_y = (double)g->params.draw_area.bottom_left.y;
-+ d_x = 0;
-+ i = g->data->first_index;
-+ while (n_elems) {
-+ DBG("index: %d, x: %f, y: %f, next_index: %d\n", i, c_x,
-+ g->data->dataset[i].y_values[j], g->data->dataset[i].next_index);
-+ d_y = g->data->dataset[i].y_values[j] - c_y;
-+ c_y = g->data->dataset[i].y_values[j];
-+ c_x = c_x + d_x;
-+ if (g->y_config_array[j].fill_color.a == 0.0 && n_elems == g->data->num_elems) {
-+ cairo_move_to(cr, c_x, c_y);
-+ } else {
-+ cairo_curve_to(cr, c_x - (d_x * 0.75), c_y - (d_y * 0.92), c_x - (d_x * 0.25), c_y - (d_y * 0.08), c_x, c_y);
-+ }
-+ if (g->data->dataset[i].next_index > i) {
-+ d_x = (g->data->dataset[i].next_index - i);
-+ } else {
-+ d_x = (g->data->dataset_size + g->data->dataset[i].next_index - i);
-+ }
-+ i = g->data->dataset[i].next_index;
-+ n_elems--;
-+ }
-+ if (g->y_config_array[j].fill_color.a != 0.0) {
-+ cairo_line_to(cr, c_x, (double)g->params.draw_area.bottom_left.y);
-+ cairo_line_to(cr, (double)g->params.draw_area.bottom_left.x, (double)g->params.draw_area.bottom_left.y);
-+ cairo_close_path(cr);
-+ cairo_set_source_rgba(cr, g->y_config_array[j].fill_color.r, g->y_config_array[j].fill_color.g,
-+ g->y_config_array[j].fill_color.b, g->y_config_array[j].fill_color.a);
-+ cairo_fill_preserve(cr);
-+ }
-+ cairo_set_source_rgba(cr, g->y_config_array[j].line_color.r, g->y_config_array[j].line_color.g,
-+ g->y_config_array[j].line_color.b, g->y_config_array[j].line_color.a);
-+ cairo_stroke(cr);
-+ }
-+
-+ for (j=0; j<g->params.num_of_text_items; j++) {
-+ cairo_move_to(cr, (double)g->text_config_array[j].at.x, (double)g->text_config_array[j].at.y);
-+ cairo_set_font_size(cr, g->text_config_array[j].fontsize);
-+ cairo_set_source_rgba(cr, g->text_config_array[j].color.r, g->text_config_array[j].color.g,
-+ g->text_config_array[j].color.b, g->text_config_array[j].color.a);
-+ cairo_show_text(cr, g->text_values[j]);
-+ }
-+
-+
-+ for (j=0; j<g->bar_graph_params.num_of_y_items; j++) {
-+ cairo_move_to(cr, (double)g->bar_graph_params.y_config_array[j].region.bottom_left.x,
-+ (double)g->bar_graph_params.y_config_array[j].region.bottom_left.y);
-+ c_y = (double)g->bar_graph_params.y_config_array[j].region.bottom_left.y -
-+ (g->bar_graph_y_values[j] * (double)(g->bar_graph_params.y_config_array[j].region.bottom_left.y -
-+ g->bar_graph_params.y_config_array[j].region.top_right.y));
-+ cairo_line_to(cr, (double)g->bar_graph_params.y_config_array[j].region.bottom_left.x, c_y);
-+ cairo_line_to(cr, (double)g->bar_graph_params.y_config_array[j].region.top_right.x, c_y);
-+ cairo_line_to(cr, (double)g->bar_graph_params.y_config_array[j].region.top_right.x,
-+ (double)g->bar_graph_params.y_config_array[j].region.bottom_left.y);
-+ cairo_line_to(cr, (double)g->bar_graph_params.y_config_array[j].region.bottom_left.x,
-+ (double)g->bar_graph_params.y_config_array[j].region.bottom_left.y);
-+ cairo_close_path(cr);
-+ cairo_set_source_rgba(cr, g->bar_graph_y_config_array[j].fill_color.r, g->bar_graph_y_config_array[j].fill_color.g,
-+ g->bar_graph_y_config_array[j].fill_color.b, g->bar_graph_y_config_array[j].fill_color.a);
-+ cairo_fill_preserve(cr);
-+ cairo_set_source_rgba(cr, g->bar_graph_y_config_array[j].line_color.r, g->bar_graph_y_config_array[j].line_color.g,
-+ g->bar_graph_y_config_array[j].line_color.b, g->bar_graph_y_config_array[j].line_color.a);
-+ cairo_stroke(cr);
-+ }
-+ for (j=0; j<g->bar_graph_params.num_of_text_items; j++) {
-+ cairo_move_to(cr, (double)g->bar_graph_text_config_array[j].at.x, (double)g->bar_graph_text_config_array[j].at.y);
-+ cairo_set_font_size(cr, g->bar_graph_text_config_array[j].fontsize);
-+ cairo_set_source_rgba(cr, g->bar_graph_text_config_array[j].color.r, g->bar_graph_text_config_array[j].color.g,
-+ g->bar_graph_text_config_array[j].color.b, g->bar_graph_text_config_array[j].color.a);
-+ cairo_save (cr);
-+ //cairo_rotate(cr, 2*3.14*21/24);
-+ cairo_show_text(cr, g->bar_graph_text_values[j]);
-+ cairo_restore(cr);
-+ }
-+ pthread_mutex_unlock(&g->mtx);
-+ cairo_destroy(cr);
-+}
-+
-+static void
-+resize_handler(struct widget *widget,
-+ int32_t width, int32_t height, void *data)
-+{
-+ struct graph *g = data;
-+
-+ /* Dont resize me */
-+ widget_set_size(g->widget, g->width, g->height);
-+}
-+
-+static void
-+redraw_handler(struct widget *widget, void *data)
-+{
-+ struct graph *g = data;
-+ cairo_surface_t *surface;
-+
-+ surface = window_get_surface(g->window);
-+ if (surface == NULL ||
-+ cairo_surface_status(surface) != CAIRO_STATUS_SUCCESS) {
-+ fprintf(stderr, "failed to create cairo egl surface\n");
-+ return;
-+ }
-+
-+ draw_stuff(g, surface);
-+ cairo_surface_destroy(surface);
-+}
-+
-+static void
-+button_handler(struct widget *widget,
-+ struct input *input, uint32_t time,
-+ uint32_t button, enum wl_pointer_button_state state, void *data)
-+{
-+ struct graph *g = data;
-+
-+ switch (button) {
-+ case BTN_LEFT:
-+ if (state == WL_POINTER_BUTTON_STATE_PRESSED)
-+ window_move(g->window, input,
-+ display_get_serial(g->display));
-+ break;
-+ case BTN_MIDDLE:
-+ if (state == WL_POINTER_BUTTON_STATE_PRESSED)
-+ widget_schedule_redraw(widget);
-+ break;
-+ case BTN_RIGHT:
-+ if (state == WL_POINTER_BUTTON_STATE_PRESSED)
-+ window_show_frame_menu(g->window, input, time);
-+ break;
-+ }
-+}
-+
-+static void
-+touch_down_handler(struct widget *widget, struct input *input,
-+ uint32_t serial, uint32_t time, int32_t id,
-+ float x, float y, void *data)
-+{
-+ struct graph *g = data;
-+ window_move(g->window, input, display_get_serial(g->display));
-+}
-+
-+static void task_run(struct task *task, uint32_t events)
-+{
-+ eventfd_t e;
-+ struct graph *g = (struct graph *)(task->link.prev);
-+ uint64_t time_diff;
-+ int elems, tmp, incr, i;
-+ double y;
-+
-+ eventfd_read(g->eventfd, &e);
-+ if(e == 1) {
-+ pthread_mutex_lock(&g->mtx);
-+ /* Process new data */
-+ DBG("time_now: %llu, last_time: %llu\n", g->time_now, g->data->last_time);
-+ if (g->time_now > g->data->last_time) {
-+ time_diff = g->time_now - g->data->last_time;
-+ y = (double)time_diff * g->x_scaling_factor;
-+ incr = (int)y;
-+ DBG("incr: %d\n", incr);
-+
-+ if (g->data->last_index >= g->data->first_index) elems = g->data->last_index - g->data->first_index + 1;
-+ else elems = g->data->dataset_size - g->data->first_index + g->data->last_index + 1;
-+ /* Move first index to make room for new element */
-+ while (g->data->dataset_size > 0 && (elems + incr) > g->data->dataset_size) {
-+ tmp = g->data->dataset[g->data->first_index].next_index - g->data->first_index;
-+ if (tmp < 0) tmp = g->data->dataset_size + tmp;
-+ g->data->first_index = g->data->dataset[g->data->first_index].next_index;
-+ elems -= tmp;
-+ g->data->num_elems--;
-+ }
-+ for (i=0; i<g->params.num_of_y_items; i++) {
-+ /* Scale Y */
-+ y = g->time_graph_y_values[i] * (double)(g->params.draw_area.bottom_left.y-g->params.draw_area.top_right.y);
-+ y = (double)g->params.draw_area.bottom_left.y - y;
-+ g->data->dataset[g->data->last_index].y_values[i] = y;
-+ }
-+ g->data->dataset[g->data->last_index].next_index = g->data->last_index + incr;
-+ if (g->data->dataset[g->data->last_index].next_index >= g->data->dataset_size)
-+ g->data->dataset[g->data->last_index].next_index -= g->data->dataset_size;
-+ g->data->num_elems++;
-+ g->data->last_index = g->data->dataset[g->data->last_index].next_index;
-+ g->data->last_time = g->time_now;
-+ }
-+ pthread_mutex_unlock(&g->mtx);
-+ }
-+ widget_schedule_redraw(g->widget);
-+ DBG("event task ran...\n");
-+}
-+
-+void *time_graph_create(int argc, char *argv[], struct time_graph_create_params *cp)
-+{
-+ struct graph *g;
-+ struct display *d;
-+ int dataset_size;
-+ struct timeval tv;
-+
-+ if (cp->num_of_y_items > MAX_ITEMS) return NULL;
-+ if (cp->num_of_text_items > MAX_ITEMS) return NULL;
-+
-+ g = (struct graph*)malloc(sizeof(struct graph));
-+ if (g == NULL) {
-+ fprintf(stderr, "failed to allocate memory\n");
-+ return NULL;
-+ }
-+ global_graph = g;
-+ g->params = *cp;
-+ if (cp->num_of_y_items)
-+ memcpy(&g->y_config_array[0], cp->y_config_array,
-+ sizeof(struct _y_config) * cp->num_of_y_items);
-+ if (cp->num_of_text_items)
-+ memcpy(&g->text_config_array[0], cp->text_config_array,
-+ sizeof(struct _text_config) * cp->num_of_text_items);
-+ d = display_create(&argc, argv);
-+ if (d == NULL) {
-+ fprintf(stderr, "failed to create display: %m\n");
-+ return NULL;
-+ }
-+ g->display = d;
-+ //g->bg_image = load_cairo_surface(cp->bg_image);
-+ g->width = cp->width; //cairo_image_surface_get_width(g->bg_image);
-+ g->height = cp->height; //cairo_image_surface_get_height(g->bg_image);
-+ dataset_size = cp->draw_area.top_right.x - cp->draw_area.bottom_left.x;
-+ g->data = (struct graph_data *)malloc(sizeof(struct graph_data) +
-+ (dataset_size * sizeof(struct graph_dataset_point)));
-+ if (!g->data) {
-+ fprintf(stderr, "failed to allocate memory\n");
-+ display_destroy(g->display);
-+ //cairo_surface_destroy(g->bg_image);
-+ free(g);
-+ return NULL;
-+ }
-+ g->data->first_index = 0;
-+ g->data->last_index = 0;
-+ g->data->num_elems = 0;
-+ g->data->dataset_size = dataset_size;
-+ g->x_scaling_factor = (double)dataset_size / (double)cp->time_span;
-+ g->window = window_create(d);
-+ g->widget = window_add_widget(g->window, g);
-+ window_set_title(g->window, cp->title);
-+ widget_set_resize_handler(g->widget, resize_handler);
-+ widget_set_redraw_handler(g->widget, redraw_handler);
-+ widget_set_button_handler(g->widget, button_handler);
-+ widget_set_default_cursor(g->widget, CURSOR_HAND1);
-+ widget_set_touch_down_handler(g->widget, touch_down_handler);
-+ window_schedule_resize(g->window, g->width, g->height);
-+ g->eventfd = eventfd(0, 0);
-+ g->task.run = task_run;
-+ g->task.link.prev = (struct wl_list*)g;
-+ g->task.link.next = NULL;
-+ display_watch_fd(d, g->eventfd, EPOLLIN, &g->task);
-+ pthread_mutex_init(&g->mtx, NULL);
-+
-+ if (0 != pthread_create(&g->thr, NULL, (void *(*)(void *))display_run, (void *)d)) {
-+ fprintf(stderr, "pthread_create failed: %m\n");
-+ widget_destroy(g->widget);
-+ window_destroy(g->window);
-+ display_destroy(g->display);
-+ //cairo_surface_destroy(g->bg_image);
-+ free(g->data);
-+ close(g->eventfd);
-+ free(g);
-+ return NULL;
-+ }
-+ gettimeofday(&tv, NULL);
-+ g->start_time_tv_sec = tv.tv_sec;
-+ g->data->last_time = 0;
-+ return (void*)g;
-+}
-+
-+void move_graph(void *ctx, struct time_graph_create_params *cp)
-+{
-+ struct graph *g = ctx;
-+ window_set_title(g->window, cp->title);
-+}
-+
-+void time_graph_plot(void *ctx, double *y_values, const char *text_values[])
-+{
-+ struct timeval tv;
-+ struct graph *g = ctx;
-+ int i;
-+ pthread_mutex_lock(&g->mtx);
-+ gettimeofday(&tv, NULL);
-+ g->time_now = ((tv.tv_sec - g->start_time_tv_sec) * 1000) + (tv.tv_usec / 1000);
-+ memcpy(g->time_graph_y_values, y_values, g->params.num_of_y_items * sizeof(double));
-+ for (i=0;i<g->params.num_of_text_items; i++) {
-+ strncpy(g->text_values[i], text_values[i], MAX_TEXT_SIZE);
-+ g->text_values[i][MAX_TEXT_SIZE-1] = '\0';
-+ }
-+ pthread_mutex_unlock(&g->mtx);
-+ eventfd_write(g->eventfd, (eventfd_t)1);
-+}
-+
-+void time_graph_destroy(void *ctx)
-+{
-+ struct graph *g = (struct graph *)ctx;
-+ display_exit(g->display);
-+ eventfd_write(g->eventfd, (eventfd_t)1);
-+ pthread_join(g->thr, NULL);
-+ widget_destroy(g->widget);
-+ window_destroy(g->window);
-+ display_destroy(g->display);
-+ free(g->data);
-+ close(g->eventfd);
-+ free(g);
-+ global_graph=NULL;
-+}
-+
-+void util_get_cpu_usage(double *cpu_usage)
-+{
-+ static FILE *fp = NULL;
-+ char buf[256];
-+ uint64_t tot;
-+ uint64_t u, n, s, i, w, x, y, z;
-+ static uint64_t last_i = 0, last_total = 0;
-+
-+
-+ if (!fp) {
-+ if (!(fp = fopen("/proc/stat", "r")))
-+ fprintf(stderr, "Failed /proc/stat open: %s", strerror(errno));
-+ }
-+ if (fp) {
-+ while (1) {
-+ rewind(fp);
-+ fflush(fp);
-+ if (!fgets(buf, sizeof(buf), fp)) {
-+ fprintf(stderr, "failed /proc/stat read\n");
-+ } else {
-+ sscanf(buf, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu",
-+ &u,
-+ &n,
-+ &s,
-+ &i,
-+ &w,
-+ &x,
-+ &y,
-+ &z
-+ );
-+ if (last_total == 0) {
-+ last_total = u+n+s+i+w+x+y+z;
-+ last_i = i;
-+ usleep(100000);
-+ } else {
-+ tot = u+n+s+i+w+x+y+z;
-+ *cpu_usage = (1.0 - ((double)(i-last_i)/(double)(tot-last_total)));
-+ last_i = i;
-+ last_total = tot;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+}
-+
-+void *bar_graph_create(int argc, char *argv[], struct bar_graph_create_params *cp)
-+{
-+ struct graph *g;
-+ struct display *d;
-+ struct timeval tv;
-+
-+ if (cp->num_of_y_items > MAX_ITEMS) return NULL;
-+ if (cp->num_of_text_items > MAX_ITEMS) return NULL;
-+
-+ if (global_graph == NULL) {
-+ fprintf(stderr, "graph not initialized invoke time_graph_create first\n");
-+ return NULL;
-+ }
-+ g=global_graph;
-+ g->bar_graph_params = *cp;
-+ if (cp->num_of_y_items)
-+ memcpy(&g->bar_graph_y_config_array[0], cp->y_config_array,
-+ sizeof(struct _bar_graph_y_config) * cp->num_of_y_items);
-+ if (cp->num_of_text_items)
-+ memcpy(&g->bar_graph_text_config_array[0], cp->text_config_array,
-+ sizeof(struct _text_config) * cp->num_of_text_items);
-+
-+ return g;
-+}
-+
-+void bar_graph_plot(void *ctx, double *y_values, const char *text_values[])
-+{
-+ struct graph *g = ctx;
-+ int i;
-+ pthread_mutex_lock(&g->mtx);
-+ memcpy(g->bar_graph_y_values, y_values, g->bar_graph_params.num_of_y_items * sizeof(double));
-+ for (i=0;i<g->bar_graph_params.num_of_text_items; i++) {
-+ strncpy(g->bar_graph_text_values[i], text_values[i], MAX_TEXT_SIZE);
-+ g->bar_graph_text_values[i][MAX_TEXT_SIZE-1] = '\0';
-+ }
-+ pthread_mutex_unlock(&g->mtx);
-+ //eventfd_write(g->eventfd, (eventfd_t)2);
-+}
-+
-+void bar_graph_destroy(void *ctx)
-+{
-+ printf("Nothing to be done for this call\n");
-+ return;
-+}
-+
-diff --git a/clients/time_bar_graph.h b/clients/time_bar_graph.h
-new file mode 100644
-index 0000000..97ac05a
---- /dev/null
-+++ b/clients/time_bar_graph.h
-@@ -0,0 +1,93 @@
-+
-+#ifndef _BAR_GRAPH_H_
-+#define _BAR_GRAPH_H_
-+
-+#include <stdint.h>
-+
-+struct _rgba {
-+ double r, g, b, a; // Values between 0 and 1
-+};
-+
-+struct _coordinate {
-+ uint32_t x, y; // Co-ordinates relative to top-left of the window
-+};
-+
-+struct _rect {
-+ struct _coordinate bottom_left, top_right;
-+};
-+
-+struct _y_config {
-+ struct _rgba line_color; // Line color
-+ struct _rgba fill_color; // Fill color, 0 alpha => no fill
-+};
-+
-+struct _text_config {
-+ struct _rgba color; // Color for drawing the text, RGBA
-+ struct _coordinate at; // where to draw the text
-+ int fontsize; // Font size
-+};
-+
-+struct time_graph_create_params {
-+ char *title;
-+ //const char *bg_image;
-+ uint32_t width;
-+ uint32_t height;
-+ struct _rect draw_area;
-+ uint32_t time_span; // Amount of time the graph has to span in milliseconds
-+ uint32_t num_of_y_items;
-+ struct _y_config *y_config_array;
-+ uint32_t num_of_text_items;
-+ struct _text_config *text_config_array;
-+};
-+
-+
-+struct _bar_graph_y_config {
-+ struct _rect region; // Region for the bar graph
-+ struct _rgba line_color; // Color for drawing the line, RGBA
-+ struct _rgba fill_color; // Fill under the line with color RGBA, 0 => no fill
-+};
-+
-+struct bar_graph_create_params {
-+ char *title;
-+ //const char *bg_image;
-+ uint32_t num_of_y_items;
-+ struct _bar_graph_y_config *y_config_array;
-+ uint32_t num_of_text_items;
-+ struct _text_config *text_config_array;
-+};
-+
-+/* Creates a time graph using create parameters */
-+void *bar_graph_create(int argc, char *argv[], struct bar_graph_create_params *cp);
-+
-+void move_graph(void *ctx, struct time_graph_create_params *cp);
-+
-+/* Plots a new set of y-values from the values in the array y_values.
-+ The number of values must be equal to "num_of_y_items" from create params
-+ y_values must be normalized between 0.0 to 1.0
-+*/
-+void bar_graph_plot(void *ctx, double *y_values, const char *text_values[]);
-+
-+/* Destroy the graph */
-+void bar_graph_destroy(void *ctx);
-+
-+
-+/* Creates a time graph using create parameters */
-+void *time_graph_create(int argc, char *argv[], struct time_graph_create_params *cp);
-+
-+/*
-+ * Plots a new set of points from the values in the array y_values.
-+ * The number of values in the array y_values must be equal to "num_of_y_items"
-+ * from create params
-+ * y_values must be normalized between 0.0 to 1.0
-+
-+ * The number of values in the array text_values must be equal to "num_of_text_items"
-+ * from create params
-+*/
-+void time_graph_plot(void *ctx, double *y_values, const char *text_values[]);
-+
-+/* Destroy the graph */
-+void time_graph_destroy(void *ctx);
-+
-+void util_get_cpu_usage(double *cpu_usage);
-+
-+#endif /* _BAR_GRAPH_H_ */
---
-1.9.1
-
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch
deleted file mode 100644
index 32901db99..000000000
--- a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8034bc1862bbebb332e91917c6458ef8efb5b54e Mon Sep 17 00:00:00 2001
-From: Eric Ruei <e-ruei1@ti.com>
-Date: Fri, 8 Mar 2019 18:49:07 -0500
-Subject: [PATCH] weston: Fix virtual keyboard display issue for QT5
- application
-
-The virtual keyboard does pop up as expected, however, it will never hide
-even when the application is terminated. This problem is due to the order
-of the text APIs( text_input_activate and test_input_show_input_panel) are
-invoked in QT5 and a potential bug of the API implementation. The virtual
-keyboard works as expected if the test_input_show_input_panel() is invoked
-prior to the test_input_activate() as most of the weston sample applications
-do. However, the problem will show up if that order is reversed and the reason
-why is that the current_panel is not set in this case and hence this panel
-cannot be hidden.
-
-It is required to set the current_panel to the text_input when the input_panel
-becomes visible at the first time.
-
-Upstream status: Pending
-
-Signed-off-by: Eric Ruei <e-ruei1@ti.com>
----
- compositor/text-backend.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/compositor/text-backend.c b/compositor/text-backend.c
-index 664c36f..b610dfb 100644
---- a/compositor/text-backend.c
-+++ b/compositor/text-backend.c
-@@ -349,6 +349,7 @@ text_input_show_input_panel(struct wl_client *client,
- text_input->surface);
- wl_signal_emit(&ec->update_input_panel_signal,
- &text_input->cursor_rectangle);
-+ text_input->manager->current_text_input = text_input;
- }
- }
-
---
-1.9.1
-
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-weston-Fix-touch-screen-crash-issue.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-weston-Fix-touch-screen-crash-issue.patch
deleted file mode 100644
index 4849d5b64..000000000
--- a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0004-weston-Fix-touch-screen-crash-issue.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 60250e9dc57fe56148c8a24bba107bce8a873fb4 Mon Sep 17 00:00:00 2001
-From: Karthik Ramanan <a0393906@ti.com>
-Date: Mon, 12 Mar 2018 10:56:28 +0530
-Subject: [PATCH 4/4] weston: Fix touch screen crash issue
-
-Touch screen operation causes the weston to crash with segment fault sometimes.
-The crash occurs when the coordinate (x,y) passed to the weston input module
-is outside the view window, hence the weston compositor is not able to pick
-up a display view and there is no code to detect this condition at function
-notify_touch().
-
-Upstream status: pending
-
-Signed-off-by: Eric Ruei <e-ruei1@ti.com>
-Signed-off-by: Karthik Ramanan <a0393906@ti.com>
----
- libweston/input.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/libweston/input.c b/libweston/input.c
-index 4fedc55..bcb2f28 100644
---- a/libweston/input.c
-+++ b/libweston/input.c
-@@ -2185,6 +2185,12 @@ notify_touch(struct weston_seat *seat, uint32_t time, int touch_id,
- * until all touch points are up again. */
- if (touch->num_tp == 1) {
- ev = weston_compositor_pick_view(ec, x, y, &sx, &sy);
-+ if (!ev)
-+ {
-+ weston_log("notify_touch: weston_compositor_pick_view(%d, %d) failed to find a view!\n",
-+ wl_fixed_to_int(x), wl_fixed_to_int(y));
-+ return;
-+ }
- weston_touch_set_focus(touch, ev);
- } else if (!touch->focus) {
- /* Unexpected condition: We have non-initial touch but
---
-1.9.1
-
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch
deleted file mode 100644
index 9b06b81b3..000000000
--- a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston/0005-weston-drm-fix-dual-display-issue.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From db6f5ce008d9b8a4cc7db71659ce1d21d3d7f97f Mon Sep 17 00:00:00 2001
-From: Eric Ruei <e-ruei1@ti.com>
-Date: Tue, 26 Mar 2019 13:32:31 -0400
-Subject: [PATCH 3/3] weston: drm: fix dual display issue
-
-This patch fixes the dual display issue by enhancing the primary plane
-search algorithm to keep the plane which is connected to the crtc of
-the output because the direct switching of active planes is not allowed.
-
-Upstream status: Pending
-
-Signed-off-by: Eric Ruei <e-ruei1@ti.com>
----
- libweston/compositor-drm.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
-index 3891176..fa694c3 100644
---- a/libweston/compositor-drm.c
-+++ b/libweston/compositor-drm.c
-@@ -428,6 +428,7 @@ struct drm_plane {
-
- uint32_t possible_crtcs;
- uint32_t plane_id;
-+ uint32_t crtc_id;
- uint32_t count_formats;
-
- struct drm_property_info props[WDRM_PLANE__COUNT];
-@@ -4073,6 +4074,7 @@ drm_plane_create(struct drm_backend *b, const drmModePlane *kplane,
- if (kplane) {
- plane->possible_crtcs = kplane->possible_crtcs;
- plane->plane_id = kplane->plane_id;
-+ plane->crtc_id = kplane->crtc_id;
-
- props = drmModeObjectGetProperties(b->drm.fd, kplane->plane_id,
- DRM_MODE_OBJECT_PLANE);
-@@ -4097,6 +4099,7 @@ drm_plane_create(struct drm_backend *b, const drmModePlane *kplane,
- else {
- plane->possible_crtcs = (1 << output->pipe);
- plane->plane_id = 0;
-+ plane->crtc_id = 0;
- plane->count_formats = 1;
- plane->formats[0].format = format;
- plane->type = type;
-@@ -4157,6 +4160,7 @@ drm_output_find_special_plane(struct drm_backend *b, struct drm_output *output,
- enum wdrm_plane_type type)
- {
- struct drm_plane *plane;
-+ struct drm_plane *plane2 = NULL; /* secondary plane */
-
- if (!b->universal_planes) {
- uint32_t format;
-@@ -4204,11 +4208,22 @@ drm_output_find_special_plane(struct drm_backend *b, struct drm_output *output,
- if (found_elsewhere)
- continue;
-
-+ /* The output should keep the primary plane connected to its
-+ * crtc since the direct switching of active plane is not
-+ * allowed. */
-+ if ((type == WDRM_PLANE_TYPE_PRIMARY) &&
-+ (plane->crtc_id != output->crtc_id)) {
-+ if (plane->crtc_id == 0) {
-+ plane->possible_crtcs = (1 << output->pipe);
-+ plane2 = plane;
-+ }
-+ continue;
-+ }
- plane->possible_crtcs = (1 << output->pipe);
- return plane;
- }
-
-- return NULL;
-+ return plane2;
- }
-
- /**
---
-1.9.1
-
diff --git a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_8.0.0.bbappend b/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_8.0.0.bbappend
deleted file mode 100644
index 21c912a66..000000000
--- a/meta-agl-bsp/meta-ti/recipes-arago/weston/weston_8.0.0.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-PACKAGECONFIG[kms] = "-Dbackend-drm=true,-Dbackend-drm=false,drm udev virtual/libgbm mtdev"
-
-PR_append = ".arago2"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# file://0005-weston-drm-fix-dual-display-issue.patch
-SRC_URI += " \
- file://0003-weston-Fix-virtual-keyboard-display-issue-for-QT5-ap.patch \
- file://0004-weston-Fix-touch-screen-crash-issue.patch \
-"
-
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend b/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend
deleted file mode 100644
index 3b2b8beb8..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend_dra7xx-evm := "${THISDIR}/${PN}:"
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state/asound.state b/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state/asound.state
deleted file mode 100644
index fe3ce6795..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/alsa-state/alsa-state/asound.state
+++ /dev/null
@@ -1,1347 +0,0 @@
-state.DRA7xxEVM {
- control.1 {
- iface MIXER
- name 'Left Line Mixer Line2R Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.2 {
- iface MIXER
- name 'Right Line Mixer Line2L Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.3 {
- iface MIXER
- name 'Left HP Mixer Line2R Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.4 {
- iface MIXER
- name 'Right HP Mixer Line2L Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.5 {
- iface MIXER
- name 'Left HPCOM Mixer Line2R Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.6 {
- iface MIXER
- name 'Right HPCOM Mixer Line2L Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.7 {
- iface MIXER
- name 'Line Line2 Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.8 {
- iface MIXER
- name 'HP Line2 Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.9 {
- iface MIXER
- name 'HPCOM Line2 Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.10 {
- iface MIXER
- name 'Mono Line2 Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.11 {
- iface MIXER
- name 'Mono PGA Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.12 {
- iface MIXER
- name 'Mono DAC Playback Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.13 {
- iface MIXER
- name 'Mono Playback Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.14 {
- iface MIXER
- name 'PCM Playback Volume'
- value.0 127
- value.1 127
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 127'
- dbmin -6350
- dbmax 0
- dbvalue.0 0
- dbvalue.1 0
- }
- }
- control.15 {
- iface MIXER
- name 'Left Line Mixer PGAR Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.16 {
- iface MIXER
- name 'Left Line Mixer DACR1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.17 {
- iface MIXER
- name 'Right Line Mixer PGAL Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.18 {
- iface MIXER
- name 'Right Line Mixer DACL1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.19 {
- iface MIXER
- name 'Left HP Mixer PGAR Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.20 {
- iface MIXER
- name 'Left HP Mixer DACR1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.21 {
- iface MIXER
- name 'Right HP Mixer PGAL Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.22 {
- iface MIXER
- name 'Right HP Mixer DACL1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.23 {
- iface MIXER
- name 'Left HPCOM Mixer PGAR Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.24 {
- iface MIXER
- name 'Left HPCOM Mixer DACR1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.25 {
- iface MIXER
- name 'Right HPCOM Mixer PGAL Bypass Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.26 {
- iface MIXER
- name 'Right HPCOM Mixer DACL1 Playback Volume'
- value 118
- comment {
- access 'read write'
- type INTEGER
- count 1
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- }
- }
- control.27 {
- iface MIXER
- name 'Line PGA Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.28 {
- iface MIXER
- name 'Line DAC Playback Volume'
- value.0 118
- value.1 118
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 0
- dbvalue.1 0
- }
- }
- control.29 {
- iface MIXER
- name 'HP PGA Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.30 {
- iface MIXER
- name 'HP DAC Playback Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.31 {
- iface MIXER
- name 'HPCOM PGA Bypass Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.32 {
- iface MIXER
- name 'HPCOM DAC Playback Volume'
- value.0 71
- value.1 71
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 118'
- dbmin -9999999
- dbmax 0
- dbvalue.0 -2350
- dbvalue.1 -2350
- }
- }
- control.33 {
- iface MIXER
- name 'Line Playback Switch'
- value.0 true
- value.1 true
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.34 {
- iface MIXER
- name 'HP Playback Switch'
- value.0 false
- value.1 false
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.35 {
- iface MIXER
- name 'HPCOM Playback Switch'
- value.0 false
- value.1 false
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.36 {
- iface MIXER
- name 'AGC Switch'
- value.0 false
- value.1 false
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.37 {
- iface MIXER
- name 'Left AGC Target level'
- value '-5.5dB'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '-5.5dB'
- item.1 '-8dB'
- item.2 '-10dB'
- item.3 '-12dB'
- item.4 '-14dB'
- item.5 '-17dB'
- item.6 '-20dB'
- item.7 '-24dB'
- }
- }
- control.38 {
- iface MIXER
- name 'Right AGC Target level'
- value '-5.5dB'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '-5.5dB'
- item.1 '-8dB'
- item.2 '-10dB'
- item.3 '-12dB'
- item.4 '-14dB'
- item.5 '-17dB'
- item.6 '-20dB'
- item.7 '-24dB'
- }
- }
- control.39 {
- iface MIXER
- name 'Left AGC Attack time'
- value '8ms'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '8ms'
- item.1 '11ms'
- item.2 '16ms'
- item.3 '20ms'
- }
- }
- control.40 {
- iface MIXER
- name 'Right AGC Attack time'
- value '8ms'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '8ms'
- item.1 '11ms'
- item.2 '16ms'
- item.3 '20ms'
- }
- }
- control.41 {
- iface MIXER
- name 'Left AGC Decay time'
- value '100ms'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '100ms'
- item.1 '200ms'
- item.2 '400ms'
- item.3 '500ms'
- }
- }
- control.42 {
- iface MIXER
- name 'Right AGC Decay time'
- value '100ms'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '100ms'
- item.1 '200ms'
- item.2 '400ms'
- item.3 '500ms'
- }
- }
- control.43 {
- iface MIXER
- name 'De-emphasis Switch'
- value.0 false
- value.1 false
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.44 {
- iface MIXER
- name 'PGA Capture Volume'
- value.0 79
- value.1 79
- comment {
- access 'read write'
- type INTEGER
- count 2
- range '0 - 119'
- dbmin 0
- dbmax 5950
- dbvalue.0 3950
- dbvalue.1 3950
- }
- }
- control.45 {
- iface MIXER
- name 'PGA Capture Switch'
- value.0 true
- value.1 true
- comment {
- access 'read write'
- type BOOLEAN
- count 2
- }
- }
- control.46 {
- iface MIXER
- name 'ADC HPF Cut-off'
- value.0 Disabled
- value.1 Disabled
- comment {
- access 'read write'
- type ENUMERATED
- count 2
- item.0 Disabled
- item.1 '0.0045xFs'
- item.2 '0.0125xFs'
- item.3 '0.025xFs'
- }
- }
- control.47 {
- iface MIXER
- name 'Output Driver Power-On time'
- value '0us'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '0us'
- item.1 '10us'
- item.2 '100us'
- item.3 '1ms'
- item.4 '10ms'
- item.5 '50ms'
- item.6 '100ms'
- item.7 '200ms'
- item.8 '400ms'
- item.9 '800ms'
- item.10 '2s'
- item.11 '4s'
- }
- }
- control.48 {
- iface MIXER
- name 'Output Driver Ramp-up step'
- value '0ms'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 '0ms'
- item.1 '1ms'
- item.2 '2ms'
- item.3 '4ms'
- }
- }
- control.49 {
- iface MIXER
- name 'Left DAC Mux'
- value DAC_L1
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 DAC_L1
- item.1 DAC_L3
- item.2 DAC_L2
- }
- }
- control.50 {
- iface MIXER
- name 'Left HPCOM Mux'
- value 'differential of HPLOUT'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 'differential of HPLOUT'
- item.1 'constant VCM'
- item.2 single-ended
- }
- }
- control.51 {
- iface MIXER
- name 'Right DAC Mux'
- value DAC_R1
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 DAC_R1
- item.1 DAC_R3
- item.2 DAC_R2
- }
- }
- control.52 {
- iface MIXER
- name 'Right HPCOM Mux'
- value 'differential of HPROUT'
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 'differential of HPROUT'
- item.1 'constant VCM'
- item.2 single-ended
- item.3 'differential of HPLCOM'
- item.4 'external feedback'
- }
- }
- control.53 {
- iface MIXER
- name 'Left Line1L Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.54 {
- iface MIXER
- name 'Left Line1R Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.55 {
- iface MIXER
- name 'Right Line1L Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.56 {
- iface MIXER
- name 'Right Line1R Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.57 {
- iface MIXER
- name 'Left PGA Mixer Line1L Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.58 {
- iface MIXER
- name 'Left PGA Mixer Line1R Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.59 {
- iface MIXER
- name 'Left PGA Mixer Line2L Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.60 {
- iface MIXER
- name 'Left PGA Mixer Mic3L Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.61 {
- iface MIXER
- name 'Left PGA Mixer Mic3R Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.62 {
- iface MIXER
- name 'Left Line2L Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.63 {
- iface MIXER
- name 'Right PGA Mixer Line1R Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.64 {
- iface MIXER
- name 'Right PGA Mixer Line1L Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.65 {
- iface MIXER
- name 'Right PGA Mixer Line2R Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.66 {
- iface MIXER
- name 'Right PGA Mixer Mic3L Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.67 {
- iface MIXER
- name 'Right PGA Mixer Mic3R Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.68 {
- iface MIXER
- name 'Right Line2R Mux'
- value single-ended
- comment {
- access 'read write'
- type ENUMERATED
- count 1
- item.0 single-ended
- item.1 differential
- }
- }
- control.69 {
- iface MIXER
- name 'Left Line Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.70 {
- iface MIXER
- name 'Left Line Mixer DACL1 Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.71 {
- iface MIXER
- name 'Left Line Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.72 {
- iface MIXER
- name 'Left Line Mixer DACR1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.73 {
- iface MIXER
- name 'Left Line Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.74 {
- iface MIXER
- name 'Left Line Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.75 {
- iface MIXER
- name 'Right Line Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.76 {
- iface MIXER
- name 'Right Line Mixer DACL1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.77 {
- iface MIXER
- name 'Right Line Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.78 {
- iface MIXER
- name 'Right Line Mixer DACR1 Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.79 {
- iface MIXER
- name 'Right Line Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.80 {
- iface MIXER
- name 'Right Line Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.81 {
- iface MIXER
- name 'Left HP Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.82 {
- iface MIXER
- name 'Left HP Mixer DACL1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.83 {
- iface MIXER
- name 'Left HP Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.84 {
- iface MIXER
- name 'Left HP Mixer DACR1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.85 {
- iface MIXER
- name 'Left HP Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.86 {
- iface MIXER
- name 'Left HP Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.87 {
- iface MIXER
- name 'Right HP Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.88 {
- iface MIXER
- name 'Right HP Mixer DACL1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.89 {
- iface MIXER
- name 'Right HP Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.90 {
- iface MIXER
- name 'Right HP Mixer DACR1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.91 {
- iface MIXER
- name 'Right HP Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.92 {
- iface MIXER
- name 'Right HP Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.93 {
- iface MIXER
- name 'Left HPCOM Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.94 {
- iface MIXER
- name 'Left HPCOM Mixer DACL1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.95 {
- iface MIXER
- name 'Left HPCOM Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.96 {
- iface MIXER
- name 'Left HPCOM Mixer DACR1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.97 {
- iface MIXER
- name 'Left HPCOM Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.98 {
- iface MIXER
- name 'Left HPCOM Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.99 {
- iface MIXER
- name 'Right HPCOM Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.100 {
- iface MIXER
- name 'Right HPCOM Mixer DACL1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.101 {
- iface MIXER
- name 'Right HPCOM Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.102 {
- iface MIXER
- name 'Right HPCOM Mixer DACR1 Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.103 {
- iface MIXER
- name 'Right HPCOM Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.104 {
- iface MIXER
- name 'Right HPCOM Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.105 {
- iface MIXER
- name 'Mono Mixer Line2L Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.106 {
- iface MIXER
- name 'Mono Mixer PGAL Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.107 {
- iface MIXER
- name 'Mono Mixer DACL1 Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.108 {
- iface MIXER
- name 'Mono Mixer Line2R Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.109 {
- iface MIXER
- name 'Mono Mixer PGAR Bypass Switch'
- value false
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
- control.110 {
- iface MIXER
- name 'Mono Mixer DACR1 Switch'
- value true
- comment {
- access 'read write'
- type BOOLEAN
- count 1
- }
- }
-}
-state.H58040000encode {
- control {
- }
-}
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch b/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch
deleted file mode 100644
index 93aff157a..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 11131a5e778d19c06eefbcf61447c6efbcee0613 Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul.barker@sancloud.co.uk>
-Date: Mon, 18 Nov 2019 08:47:41 +0000
-Subject: [PATCH] Add support for AGL toolchain
-
-We can use the pre-existing config for arm-linux-gnueabihf, we just need
-to make sure our toolchain is matched against this and not
-arm-linux-gnueabi.
-
-Signed-off-by: Paul Barker <paul.barker@sancloud.co.uk>
----
- eurasia_km/eurasiacon/build/linux2/config/compiler.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-index 2ba3e5e..03e86c5 100644
---- a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-+++ b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-@@ -68,7 +68,7 @@ define calculate-compiler-preferred-target
- ifneq ($$(filter aarch64-%,$$($(1)_compiler_preferred_target)),)
- $(1)_compiler_preferred_target := aarch64-linux-gnu
- endif
-- ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi,$$($(1)_compiler_preferred_target)),)
-+ ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi arm-agl-linux-gnueabi,$$($(1)_compiler_preferred_target)),)
- $(1)_compiler_preferred_target := arm-linux-gnueabihf
- endif
- ifneq ($$(filter arm-%-gnueabi armv7a-cros-linux-gnueabi armv7hl-redhat-linux-gnueabi,$$($(1)_compiler_preferred_target)),)
---
-2.17.1
-
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend b/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend
deleted file mode 100644
index 6390e660e..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0001-Add-support-for-AGL-toolchain.patch"
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/files/uEnv.txt b/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/files/uEnv.txt
deleted file mode 100755
index 79f3d1ff2..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/files/uEnv.txt
+++ /dev/null
@@ -1 +0,0 @@
-fdtfile=dra7-evm-lcd-osd101t2045.dtb
diff --git a/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend b/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend
deleted file mode 100644
index d1b9b2704..000000000
--- a/meta-agl-bsp/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-PR_append = "_agl"
-
-SRC_URI += " file://${UBOOT_ENV_BINARY}"
-
-UBOOT_ENV = "uEnv"
-
-do_deploy_append () {
- if [ "x${UBOOT_ENV}" != "x" ]
- then
- install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
- ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
- fi
-}
-
diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service b/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service
deleted file mode 100644
index 1acb94fd4..000000000
--- a/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=PVR service
-SourcePath=/etc/ti-sgx/rc.pvr
-DefaultDependencies=no
-Before=psplash-start.service
-
-[Service]
-Type=forking
-Restart=no
-TimeoutSec=5min
-IgnoreSIGPIPE=no
-KillMode=process
-GuessMainPID=no
-RemainAfterExit=yes
-ExecStart=/etc/ti-sgx/rc.pvr start
-ExecStop=/etc/ti-sgx/rc.pvr stop
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend b/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend
deleted file mode 100644
index 21142df59..000000000
--- a/meta-agl-bsp/meta-ti/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend
+++ /dev/null
@@ -1,18 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-FILES_${PN} += "/etc/ti-sgx/"
-
-SRC_URI_append = "\
- file://pvr.service \
-"
-
-inherit systemd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "pvr.service"
-
-do_install_append() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0755 ${WORKDIR}/pvr.service ${D}${systemd_system_unitdir}
- install -d ${D}/etc/ti-sgx
- install -m 0755 ${D}/etc/init.d/rc.pvr ${D}/etc/ti-sgx
-}
diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-agl-bsp/meta-ti/recipes-graphics/mesa/mesa-gl_%.bbappend
deleted file mode 100644
index a5a69513a..000000000
--- a/meta-agl-bsp/meta-ti/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# Remove GBM support from Mesa
-# TI Platforms provides own GBM library
-
-PACKAGES_remove = "libgbm"
-PACKAGES_remove = "libgbm-dev"
-
-EXTRA_OECONF_remove = "--enable-gbm"
diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index 684031eae..000000000
--- a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-# While we could have a panel attached to HDMI, we only use the default
-# panel isntead.
-SRC_URI_remove_dra7xx-evm = "file://hdmi-a-1-270.cfg"
-# Our DPI panel shows up as "UNNAMED-1"
-SRC_URI_append_dra7xx-evm = " file://unnamed.cfg"
diff --git a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg b/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg
deleted file mode 100644
index 29544932e..000000000
--- a/meta-agl-bsp/meta-ti/recipes-graphics/wayland/weston-ini-conf/unnamed.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[output]
-name=UNNAMED-1
-transform=270
diff --git a/meta-agl-bsp/meta-ti/recipes-kernel/linux/files/dcan2_pinmux_enable.patch b/meta-agl-bsp/meta-ti/recipes-kernel/linux/files/dcan2_pinmux_enable.patch
deleted file mode 100644
index 6c54c5ee1..000000000
--- a/meta-agl-bsp/meta-ti/recipes-kernel/linux/files/dcan2_pinmux_enable.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
-index 35424da..08fca09 100644
---- a/arch/arm/boot/dts/dra7-evm.dts
-+++ b/arch/arm/boot/dts/dra7-evm.dts
-@@ -243,6 +243,20 @@
- DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1) /* i2c2_scl.hdmi1_ddc_sda */
- >;
- };
-+ dcan2_pins_default: dcan2_pins_default {
-+ pinctrl-single,pins = <
-+ DRA7XX_CORE_IOPAD(0x3688, PIN_OUTPUT_PULLUP | MUX_MODE2) /* gpio6_14.dcan2_tx */
-+ DRA7XX_CORE_IOPAD(0x368C, PIN_INPUT_PULLUP | MUX_MODE2) /* gpio6_15.dcan2_rx */
-+ >;
-+ };
-+
-+ dcan2_pins_sleep: dcan2_pins_sleep {
-+ pinctrl-single,pins = <
-+ DRA7XX_CORE_IOPAD(0x3688, MUX_MODE15 | PULL_UP) /* gpio6_14.dcan2_tx.off */
-+ DRA7XX_CORE_IOPAD(0x368C, MUX_MODE15 | PULL_UP) /* gpio6_15.dcan2_rx.off */
-+ >;
-+ };
-+
- };
-
- &i2c1 {
-@@ -703,6 +717,13 @@
- memory-region = <&ipu1_memory_region>;
- };
-
-+&dcan2 {
-+ status = "ok";
-+ pinctrl-names = "default", "sleep";
-+ pinctrl-0 = <&dcan2_pins_default>;
-+ pinctrl-1 = <&dcan2_pins_sleep>;
-+};
-+
- &dsp1 {
- status = "okay";
- memory-region = <&dsp1_memory_region>;
diff --git a/meta-agl-bsp/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend b/meta-agl-bsp/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend
deleted file mode 100644
index 2f6c449bc..000000000
--- a/meta-agl-bsp/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-require recipes-kernel/linux/linux-agl.inc
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-#-------------------------------------------------------------------------
-# patches for enabling dcan2 and fix dcan1 & dcan2 adresses
-
-SRC_URI += " \
- file://dcan2_pinmux_enable.patch \
-"
-
diff --git a/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch b/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch
deleted file mode 100644
index d45c5ef50..000000000
--- a/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- pulseaudio-9.0/src/daemon/default.pa.in.orig 2017-08-04 00:07:08.833004893 +0300
-+++ pulseaudio-9.0/src/daemon/default.pa.in 2017-08-04 00:09:18.045102067 +0300
-@@ -162,8 +162,10 @@
- ])dnl
-
- ### Make some devices default
--#set-default-sink output
--#set-default-source input
-+# DRA7xx-EVM CPU Board Line-Out/Headphone
-+set-default-sink alsa_output.platform-sound0.analog-stereo
-+# DRA7xx-EVM CPU Board Microphone/Line-In
-+set-default-source alsa_input.platform-sound0.analog-stereo
-
- .ifexists module-router.so
- load-module module-router
diff --git a/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
deleted file mode 100644
index 37c4179e5..000000000
--- a/meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/pulseaudio:"
-
-################### F I X M E ####################
-# FIXME pyro
-DISABLED_SRC_URI += " \
- file://dra7xx-evm-set-default-sink-source.patch \
-"
diff --git a/meta-agl-bsp/openembedded-layer/recipes-devtools/lua/lua_%.bbappend b/meta-agl-bsp/openembedded-layer/recipes-devtools/lua/lua_%.bbappend
new file mode 100644
index 000000000..f4fc54d86
--- /dev/null
+++ b/meta-agl-bsp/openembedded-layer/recipes-devtools/lua/lua_%.bbappend
@@ -0,0 +1,4 @@
+# this causes a crash in the selftest db.lua !
+# Bug-AGL: SPEC-3828
+# Upstream status: pending
+SRC_URI:remove = "file://CVE-2020-15945.patch"
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch
deleted file mode 100644
index 5172fdd3a..000000000
--- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-Set-up-environment-for-OSTree-integration.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ebb26338d0c2f436a86fd4d7cb8d723a90d6a369 Mon Sep 17 00:00:00 2001
-From: Anton Gerasimov <anton@advancedtelematic.com>
-Date: Thu, 15 Sep 2016 17:52:41 +0200
-Subject: [PATCH 1/2] Set up environment for OSTree integration
-
----
- include/configs/qemu-x86.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
-index 78c296f..79df455 100644
---- a/include/configs/qemu-x86.h
-+++ b/include/configs/qemu-x86.h
-@@ -74,4 +74,24 @@
- #undef CONFIG_ENV_IS_IN_SPI_FLASH
- #define CONFIG_ENV_IS_NOWHERE
-
-+#undef CONFIG_BOOTARGS
-+#define CONFIG_BOOTARGS "root=/dev/hda2 console=ttyS0"
-+
-+#undef CONFIG_BOOTDELAY
-+#define CONFIG_BOOTDELAY 3
-+
-+#undef CONFIG_BOOTCOMMAND
-+#define CONFIG_BOOTCOMMAND "run loadenv;" \
-+ "setenv bootargs $bootargs\" console=ttyS0 root=/dev/ram0 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/hda ramdisk_size=16384 \";" \
-+ "ext2load ide 0 $loadaddr \"/boot\"$kernel_image;" \
-+ "ext2load ide 0 $ramdiskaddr \"/boot\"$ramdisk_image;" \
-+ "zboot $loadaddr - $ramdiskaddr $filesize"
-+
-+#undef CONFIG_EXTRA_ENV_SETTINGS
-+#define CONFIG_EXTRA_ENV_SETTINGS "kernel_image=/bzImage\0" \
-+ "ramdisk_image=/initrd\0" \
-+ "ramdiskaddr=0x4000000\0" \
-+ "bootdelay=3\0" \
-+ "loadenv=if ext2load ide 0 $loadaddr /boot/loader/uEnv.txt; then env import -t $loadaddr $filesize; fi;"
-+
- #endif /* __CONFIG_H */
---
-2.9.3
-
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-fixup-build-with-gcc6.patch b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-fixup-build-with-gcc6.patch
deleted file mode 100644
index df1f786c6..000000000
--- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0001-fixup-build-with-gcc6.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From ba619c7ec7820e80d1b5b520440fdb81c31c0baf Mon Sep 17 00:00:00 2001
-From: Ronan Le Martret <ronan.lemartret@iot.bzh>
-Date: Fri, 14 Oct 2016 09:03:11 +0200
-Subject: [PATCH] fix gcc6 build
-
-Signed-off-by: ronan <ronan@linux-pgnz.suse>
----
- include/linux/compiler-gcc6.h | 66 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 66 insertions(+)
- create mode 100644 include/linux/compiler-gcc6.h
-
-diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
-new file mode 100644
-index 0000000..a3d00d8
---- /dev/null
-+++ b/include/linux/compiler-gcc6.h
-@@ -0,0 +1,66 @@
-+#ifndef __LINUX_COMPILER_H
-+#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead."
-+#endif
-+
-+#define __used __attribute__((__used__))
-+#define __must_check __attribute__((warn_unused_result))
-+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
-+
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+ to them will be unlikely. This means a lot of manual unlikely()s
-+ are unnecessary now for any paths leading to the usual suspects
-+ like BUG(), printk(), panic() etc. [but let's keep them for now for
-+ older compilers]
-+
-+ Early snapshots of gcc 4.3 don't support this and we can't detect this
-+ in the preprocessor, but we can live with this because they're unreleased.
-+ Maketime probing would be overkill here.
-+
-+ gcc also has a __attribute__((__hot__)) to move hot functions into
-+ a special section, but I don't see any sense in this right now in
-+ the kernel context */
-+#define __cold __attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+
-+/*
-+ * Mark a position in code as unreachable. This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased. Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ * Fixed in GCC 4.8.2 and later versions.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
---
-2.6.6
-
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch
deleted file mode 100644
index 7540b7467..000000000
--- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From ab0d7e270d89f6eb99582197d2d58bf60c9c3d26 Mon Sep 17 00:00:00 2001
-From: Anton Gerasimov <anton@advancedtelematic.com>
-Date: Thu, 15 Sep 2016 16:49:32 +0200
-Subject: [PATCH 2/2] Replace wraps with built-in code to remove dependency on
- multilib
-
----
- arch/x86/config.mk | 2 --
- arch/x86/lib/gcc.c | 104 ++++++++++++++++++++++++++++++++++++++++++++---------
- 2 files changed, 87 insertions(+), 19 deletions(-)
-
-diff --git a/arch/x86/config.mk b/arch/x86/config.mk
-index 999143e..139576e 100644
---- a/arch/x86/config.mk
-+++ b/arch/x86/config.mk
-@@ -22,5 +22,3 @@ PLATFORM_RELFLAGS += -ffunction-sections -fvisibility=hidden
- PLATFORM_LDFLAGS += --emit-relocs -Bsymbolic -Bsymbolic-functions -m elf_i386
-
- LDFLAGS_FINAL += --gc-sections -pie
--LDFLAGS_FINAL += --wrap=__divdi3 --wrap=__udivdi3
--LDFLAGS_FINAL += --wrap=__moddi3 --wrap=__umoddi3
-diff --git a/arch/x86/lib/gcc.c b/arch/x86/lib/gcc.c
-index 497ad75..c321b11 100644
---- a/arch/x86/lib/gcc.c
-+++ b/arch/x86/lib/gcc.c
-@@ -19,22 +19,92 @@
-
- #ifdef __GNUC__
-
--/*
-- * GCC's libgcc handling is quite broken. While the libgcc functions
-- * are always regparm(0) the code that calls them uses whatever the
-- * compiler call specifies. Therefore we need a wrapper around those
-- * functions. See gcc bug PR41055 for more information.
-- */
--#define WRAP_LIBGCC_CALL(type, name) \
-- type __normal_##name(type a, type b) __attribute__((regparm(0))); \
-- type __wrap_##name(type a, type b); \
-- type __attribute__((no_instrument_function)) \
-- __wrap_##name(type a, type b) \
-- { return __normal_##name(a, b); }
--
--WRAP_LIBGCC_CALL(long long, __divdi3)
--WRAP_LIBGCC_CALL(unsigned long long, __udivdi3)
--WRAP_LIBGCC_CALL(long long, __moddi3)
--WRAP_LIBGCC_CALL(unsigned long long, __umoddi3)
-+#include <stdint.h>
-+#include <stddef.h>
-+
-+uint64_t __udivmoddi4 ( uint64_t num,
-+ uint64_t den,
-+ uint64_t *rem_p )
-+{
-+ uint64_t quot = 0, qbit = 1;
-+
-+ if ( den == 0 ) {
-+ return 1/((unsigned)den); /* Intentional divide by zero, without
-+ triggering a compiler warning which
-+ would abort the build */
-+ }
-+
-+ /* Left-justify denominator and count shift */
-+ while ( (int64_t)den >= 0 ) {
-+ den <<= 1;
-+ qbit <<= 1;
-+ }
-+
-+ while ( qbit ) {
-+ if ( den <= num ) {
-+ num -= den;
-+ quot += qbit;
-+ }
-+ den >>= 1;
-+ qbit >>= 1;
-+ }
-+
-+ if ( rem_p )
-+ *rem_p = num;
-+
-+ return quot;
-+}
-+uint64_t __udivdi3( uint64_t num, uint64_t den )
-+{
-+ return __udivmoddi4(num, den, NULL);
-+}
-+
-+uint64_t __umoddi3 ( uint64_t num, uint64_t den )
-+{
-+ uint64_t v;
-+
-+ (void) __udivmoddi4(num, den, &v);
-+ return v;
-+}
-+
-+int64_t __divmoddi4 ( int64_t num,
-+ int64_t den,
-+ int64_t* rem_p )
-+{
-+ int minus = 0;
-+ int64_t v;
-+
-+ if ( num < 0 ) {
-+ num = -num;
-+ minus = 1;
-+ }
-+ if ( den < 0 ) {
-+ den = -den;
-+ minus ^= 1;
-+ }
-+
-+ v = __udivmoddi4(num, den, (uint64_t *)rem_p);
-+ if ( minus ) {
-+ v = -v;
-+ if ( rem_p )
-+ *rem_p = -(*rem_p);
-+ }
-+
-+ return v;
-+}
-+
-+
-+int64_t __moddi3 (int64_t num, int64_t den)
-+{
-+ int64_t v;
-+
-+ (void) __divmoddi4(num, den, &v);
-+ return v;
-+}
-+
-+int64_t __divdi3(int64_t num, int64_t den)
-+{
-+ return __divmoddi4(num, den, NULL);
-+}
-
- #endif
---
-2.9.3
-
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-fixup-build-with-gcc7.patch b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-fixup-build-with-gcc7.patch
deleted file mode 100644
index fc7933ea0..000000000
--- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota/0002-fixup-build-with-gcc7.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From eea58226f0b604d3047c495985197113838d3a7a Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Tue, 20 Jun 2017 13:25:20 -0400
-Subject: [PATCH] fix build for gcc7
-
-| In file included from .../include/linux/compiler.h:54:0,
-| from .../include/uapi/linux/stddef.h:1,
-| from .../include/linux/stddef.h:4,
-| from .../include/uapi/linux/posix_types.h:4,
-| from .../include/uapi/linux/types.h:13,
-| from .../include/linux/types.h:5,
-| from .../include/linux/mod_devicetable.h:11,
-| from .../scripts/mod/devicetable-offsets.c:2:
-| .../include/linux/compiler-gcc.h:121:1: fatal error: linux/compiler-gcc7.h: No such file or directory
-| #include gcc_header(__GNUC__)
-
-Upstream-Status: Pending
-
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
-Signed-off-by: Fabio Berton <fabio.berton@gmail.com>
-Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
----
- include/linux/compiler-gcc7.h | 66 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 66 insertions(+)
- create mode 100644 include/linux/compiler-gcc7.h
-
-diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h
-new file mode 100644
-index 0000000..cdd1cc2
---- /dev/null
-+++ b/include/linux/compiler-gcc7.h
-@@ -0,0 +1,66 @@
-+#ifndef __LINUX_COMPILER_H
-+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
-+#endif
-+
-+#define __used __attribute__((__used__))
-+#define __must_check __attribute__((warn_unused_result))
-+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
-+
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+ to them will be unlikely. This means a lot of manual unlikely()s
-+ are unnecessary now for any paths leading to the usual suspects
-+ like BUG(), printk(), panic() etc. [but let's keep them for now for
-+ older compilers]
-+
-+ Early snapshots of gcc 4.3 don't support this and we can't detect this
-+ in the preprocessor, but we can live with this because they're unreleased.
-+ Maketime probing would be overkill here.
-+
-+ gcc also has a __attribute__((__hot__)) to move hot functions into
-+ a special section, but I don't see any sense in this right now in
-+ the kernel context */
-+#define __cold __attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+
-+/*
-+ * Mark a position in code as unreachable. This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased. Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ * Fixed in GCC 4.8.2 and later versions.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
---
-2.7.4
-
diff --git a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota_2015.07.bb b/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota_2015.07.bb
deleted file mode 100644
index 7ef3cacd4..000000000
--- a/meta-agl-bsp/recipes-bsp/u-boot/u-boot-ota_2015.07.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-include recipes-bsp/u-boot/u-boot.inc
-DEPENDS += "dtc-native"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-
-# This revision corresponds to the tag "v2015.07"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "baba2f57e8f4ed3fa67fe213d22da0de5e00f204"
-
-SRC_URI = "\
- git://git.denx.de/u-boot.git;branch=master \
- file://0001-Set-up-environment-for-OSTree-integration.patch \
- file://0002-Replace-wraps-with-built-in-code-to-remove-dependenc.patch \
- file://0001-fixup-build-with-gcc6.patch \
- file://0002-fixup-build-with-gcc7.patch \
-"
-S = "${WORKDIR}/git"
-
-PV = "v2015.07+git${SRCPV}"
-
-EXTRA_OEMAKE_append = " KCFLAGS=-fgnu89-inline "
-EXTRA_OEMAKE_append_qemux86 = " BUILD_ROM=y"
-EXTRA_OEMAKE_append_qemux86-64 = " BUILD_ROM=y"
-
-UBOOT_SUFFIX = "bin"
-UBOOT_SUFFIX_qemux86 = "rom"
-UBOOT_SUFFIX_qemux86-64 = "rom"
diff --git a/meta-agl-bsp/recipes-graphics/opencv/opencv/0004-Change-Max-Device-Count-To-16.patch b/meta-agl-bsp/recipes-graphics/opencv/opencv/0004-Change-Max-Device-Count-To-16.patch
deleted file mode 100644
index 2ad367c8d..000000000
--- a/meta-agl-bsp/recipes-graphics/opencv/opencv/0004-Change-Max-Device-Count-To-16.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/modules/videoio/src/cap_v4l.cpp b/modules/videoio/src/cap_v4l.cpp
-index c36a619a56..0040e4574e 100644
---- a/modules/videoio/src/cap_v4l.cpp
-+++ b/modules/videoio/src/cap_v4l.cpp
-@@ -256,7 +256,7 @@ make & enjoy!
- #define DEFAULT_V4L_HEIGHT 480
- #define DEFAULT_V4L_FPS 30
-
--#define MAX_CAMERAS 8
-+#define MAX_CAMERAS 16
-
- // default and maximum number of V4L buffers, not including last, 'special' buffer
- #define MAX_V4L_BUFFERS 10
diff --git a/meta-agl-bsp/recipes-graphics/opencv/opencv_4.%.bbappend b/meta-agl-bsp/recipes-graphics/opencv/opencv_4.%.bbappend
deleted file mode 100644
index 8a68b0641..000000000
--- a/meta-agl-bsp/recipes-graphics/opencv/opencv_4.%.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += " \
- file://0004-Change-Max-Device-Count-To-16.patch \
- "
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb
deleted file mode 100644
index 4628f96f8..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-SRC_URI = "file://core.cfg \
- file://ivishell.cfg \
- file://id-agent.cfg \
- file://shell.cfg \
- file://hdmi-a-1-270.cfg \
- "
-
-S = "${WORKDIR}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_compile() {
- # Put all of our cfg files together.
- rm -f ${WORKDIR}/weston.ini
- for F in ${WORKDIR}/*.cfg; do
- cat $F >> ${WORKDIR}/weston.ini
- echo >> ${WORKDIR}/weston.ini
- done
- sed -i -e '$ d' ${WORKDIR}/weston.ini
-}
-
-do_install_append() {
- WESTON_INI_CONFIG=${sysconfdir}/xdg/weston
- install -d ${D}${WESTON_INI_CONFIG}
- install -m 0644 ${WORKDIR}/weston.ini ${D}${WESTON_INI_CONFIG}/weston.ini
-}
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index f954514cf..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "weston-remoting", "file://remote-output.cfg", "",d)}"
-
-#do_configure_append() {
-# if ${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', 'true', 'false', d)}; then
-# echo virtual=1 >> ${WORKDIR}/core.cfg
-# fi
-#}
-
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg
deleted file mode 100644
index eb5d470ed..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[core]
-shell=ivi-shell.so
-backend=drm-backend.so
-require-input=false
-modules=systemd-notify.so,ivi-controller.so
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg
deleted file mode 100644
index dffc2b6dd..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-# A display is connected to HDMI-A-1 and needs to be rotated 270 degrees
-# to have a proper orientation of the homescreen. For example the various sizes
-# of the GeChic display or the Dell display.
-[output]
-name=HDMI-A-1
-transform=270
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg
deleted file mode 100644
index 88a692a1b..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees
-# to have a proper orientation of the homescreen. For example, the 'eGalax'
-# display used in some instances.
-[output]
-name=HDMI-A-1
-transform=90
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg
deleted file mode 100644
index c85299250..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[desktop-app-default]
-default-surface-id=2000000
-default-surface-id-max=2001000
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg
deleted file mode 100644
index d0bcb833f..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[ivi-shell]
-ivi-input-module=ivi-input-controller.so
-ivi-id-agent-module=ivi-id-agent.so
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg
deleted file mode 100644
index f69a2e096..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-[remote-output]
-name=remote-1
-mode=640x720@30
-host=192.168.20.99
-port=5005
diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg
deleted file mode 100644
index 975e539e6..000000000
--- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-[shell]
-locking=true
-panel-position=none
diff --git a/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend b/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend
deleted file mode 100644
index 52fe69d24..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend
+++ /dev/null
@@ -1,6 +0,0 @@
-# fix for kernel using hardcoded awk while our filesystem only provides gawk
-do_install_append() {
- # enforce all scripts to use /usr/bin/awk . This fixes the rpm dependency failure on install of kernel-devsrc
- cd ${D} || true
- ( for i in `grep -srI "\!/bin/awk" | cut -d":" -f1 ` ; do sed -i -e "s#\!/bin/awk#\!/usr/bin/env awk#g" $i ; done ) || true
-} \ No newline at end of file
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch b/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch
deleted file mode 100644
index c595dfdf5..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 63f5acdf097b7baca8d0f7056a037f8811b48aaa Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jos=C3=A9=20Bollo?= <jose.bollo@iot.bzh>
-Date: Tue, 27 Feb 2018 17:06:21 +0100
-Subject: [PATCH] Smack: Handle CGROUP2 in the same way that CGROUP
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The new file system CGROUP2 isn't actually handled
-by smack. This changes makes Smack treat equally
-CGROUP and CGROUP2 items.
-
-Signed-off-by: José Bollo <jose.bollo@iot.bzh>
----
- security/smack/smack_lsm.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
-index 03fdecba93bb..5d77ed04422c 100644
---- a/security/smack/smack_lsm.c
-+++ b/security/smack/smack_lsm.c
-@@ -3431,6 +3431,7 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
- if (opt_dentry->d_parent == opt_dentry) {
- switch (sbp->s_magic) {
- case CGROUP_SUPER_MAGIC:
-+ case CGROUP2_SUPER_MAGIC:
- /*
- * The cgroup filesystem is never mounted,
- * so there's no opportunity to set the mount
-@@ -3474,6 +3475,7 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
- switch (sbp->s_magic) {
- case SMACK_MAGIC:
- case CGROUP_SUPER_MAGIC:
-+ case CGROUP2_SUPER_MAGIC:
- /*
- * Casey says that it's a little embarrassing
- * that the smack file system doesn't do
---
-2.14.3
-
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch b/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch
deleted file mode 100644
index 4100bb8fd..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-Smack: Privilege check on key operations
-
-Operations on key objects are subjected to Smack policy
-even if the process is privileged. This is inconsistent
-with the general behavior of Smack and may cause issues
-with authentication by privileged daemons. This patch
-allows processes with CAP_MAC_OVERRIDE to access keys
-even if the Smack rules indicate otherwise.
-
-Reported-by: Jose Bollo <jobol@nonadev.net>
-Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
----
- security/smack/smack.h | 1 +
- security/smack/smack_access.c | 40 +++++++++++++++++++++++++++++-----------
- security/smack/smack_lsm.c | 4 ++++
- 3 files changed, 34 insertions(+), 11 deletions(-)
-
-diff --git a/security/smack/smack.h b/security/smack/smack.h
-index 6a71fc7..f7db791 100644
---- a/security/smack/smack.h
-+++ b/security/smack/smack.h
-@@ -321,6 +321,7 @@ struct smack_known *smk_import_entry(const char *, int);
- void smk_insert_entry(struct smack_known *skp);
- struct smack_known *smk_find_entry(const char *);
- bool smack_privileged(int cap);
-+bool smack_privileged_cred(int cap, const struct cred *cred);
- void smk_destroy_label_list(struct list_head *list);
-
- /*
-diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c
-index 1a30041..141ffac 100644
---- a/security/smack/smack_access.c
-+++ b/security/smack/smack_access.c
-@@ -623,26 +623,24 @@ struct smack_known *smack_from_secid(const u32 secid)
- LIST_HEAD(smack_onlycap_list);
- DEFINE_MUTEX(smack_onlycap_lock);
-
--/*
-+/**
-+ * smack_privileged_cred - are all privilege requirements met by cred
-+ * @cap: The requested capability
-+ * @cred: the credential to use
-+ *
- * Is the task privileged and allowed to be privileged
- * by the onlycap rule.
- *
- * Returns true if the task is allowed to be privileged, false if it's not.
- */
--bool smack_privileged(int cap)
-+bool smack_privileged_cred(int cap, const struct cred *cred)
- {
-- struct smack_known *skp = smk_of_current();
-+ struct task_smack *tsp = cred->security;
-+ struct smack_known *skp = tsp->smk_task;
- struct smack_known_list_elem *sklep;
- int rc;
-
-- /*
-- * All kernel tasks are privileged
-- */
-- if (unlikely(current->flags & PF_KTHREAD))
-- return true;
--
-- rc = cap_capable(current_cred(), &init_user_ns, cap,
-- SECURITY_CAP_AUDIT);
-+ rc = cap_capable(cred, &init_user_ns, cap, SECURITY_CAP_AUDIT);
- if (rc)
- return false;
-
-@@ -662,3 +660,23 @@ bool smack_privileged(int cap)
-
- return false;
- }
-+
-+/**
-+ * smack_privileged - are all privilege requirements met
-+ * @cap: The requested capability
-+ *
-+ * Is the task privileged and allowed to be privileged
-+ * by the onlycap rule.
-+ *
-+ * Returns true if the task is allowed to be privileged, false if it's not.
-+ */
-+bool smack_privileged(int cap)
-+{
-+ /*
-+ * All kernel tasks are privileged
-+ */
-+ if (unlikely(current->flags & PF_KTHREAD))
-+ return true;
-+
-+ return smack_privileged_cred(cap, current_cred());
-+}
-diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
-index 30f2c3d..03fdecb 100644
---- a/security/smack/smack_lsm.c
-+++ b/security/smack/smack_lsm.c
-@@ -4369,6 +4369,10 @@ static int smack_key_permission(key_ref_t key_ref,
- */
- if (tkp == NULL)
- return -EACCES;
-+
-+ if (smack_privileged_cred(CAP_MAC_OVERRIDE, cred))
-+ return 0;
-+
- #ifdef CONFIG_AUDIT
- smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_KEY);
- ad.a.u.key_struct.key = keyp->serial;
-
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/net-sch_generic-add-if_afp.h-header-to-get-ARPHRD_CA.patch b/meta-agl-bsp/recipes-kernel/linux/linux-4.14/net-sch_generic-add-if_afp.h-header-to-get-ARPHRD_CA.patch
deleted file mode 100644
index 7c34fb306..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-4.14/net-sch_generic-add-if_afp.h-header-to-get-ARPHRD_CA.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 17d0075d95b5087d5df553444cca390fa479bad9 Mon Sep 17 00:00:00 2001
-From: Matt Ranostay <matt.ranostay@konsulko.com>
-Date: Tue, 10 Mar 2020 22:27:28 -0700
-Subject: [PATCH] net: sch_generic: add if_afp.h header to get ARPHRD_CAN macro
-
-Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
----
- net/sched/sch_generic.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
-index bf8c81e07c70..1845ef8c7dbd 100644
---- a/net/sched/sch_generic.c
-+++ b/net/sched/sch_generic.c
-@@ -25,6 +25,7 @@
- #include <linux/rcupdate.h>
- #include <linux/list.h>
- #include <linux/slab.h>
-+#include <linux/if_arp.h>
- #include <linux/if_vlan.h>
- #include <net/sch_generic.h>
- #include <net/pkt_sched.h>
---
-2.25.0
-
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc b/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc
deleted file mode 100644
index 6d5c67021..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-4.14:"
-
-#-------------------------------------------------------------------------
-# smack patches for kernels keys
-
-SRC_URI_append_with-lsm-smack = "\
- file://Smack-Privilege-check-on-key-operations.patch \
- file://Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch \
- "
-
-SRC_URI_append = "\
- file://net-sch_generic-add-if_afp.h-header-to-get-ARPHRD_CA.patch \
- file://net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch \
- "
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.19.inc b/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.19.inc
deleted file mode 100644
index da4e0c067..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.19.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-4.19:"
-
-SRC_URI_append = "\
- file://net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch \
- "
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc b/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
deleted file mode 100644
index 0becf2040..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
+++ /dev/null
@@ -1,125 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
-
-DEPENDS += "kern-tools-native"
-
-# returns all the elements from the src uri that are .cfg files
-def find_cfgs(d):
- sources=src_patches(d, True)
- sources_list=[]
- for s in sources:
- if s.endswith('.cfg'):
- sources_list.append(s)
-
- return sources_list
-
-do_configure_append () {
- [ ! -f .config ] && cp -a ${WORKDIR}/defconfig .config
- # Need to clear CONFIG_LSM for 5.1+ kernels to ensure it'll get
- # regenerated to reflect configuration changes (e.g. SMACK).
- sed -i '/^CONFIG_LSM/d' .config
- merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
- yes '' | make oldconfig
-}
-
-# Extra configuration options for the AGL kernel
-SRC_URI_append = "\
- file://can-bus.cfg \
- file://usb.cfg \
- file://uvc.cfg \
- file://joystick.cfg \
- file://fanotify.cfg \
- file://uinput.cfg \
- file://hid.cfg \
- file://drm.cfg \
- file://btusb.cfg \
- file://usbaudio.cfg \
- file://usbmodem.cfg \
- file://i2c-led.cfg \
- file://nfc.cfg \
- "
-
-SRC_URI_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','file://xen_domu.cfg','',d)}"
-
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/can-bus.cfg"
-# Enable support for usb video class for usb camera devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg"
-# Enable support for joystick devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fanotify.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uinput.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/hid.cfg"
-# Enable DRM support for graphics
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/drm.cfg"
-# Enable Bluetooth USB devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/btusb.cfg"
-# Enable USB audio devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/usbaudio.cfg"
-# Enable I2C and LED for demontrator
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/i2c-led.cfg"
-# Enable NFC devices
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/nfc.cfg"
-# Enable XEN support of the guest
-KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','${WORKDIR}/xen_domu.cfg','',d)}"
-
-# Enable required features for the agl-netboot feature
-SRC_URI_append_netboot = " file://nbd.cfg \
- file://ramdisk.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_netboot = " ${WORKDIR}/nbd.cfg ${WORKDIR}/ramdisk.cfg"
-
-# Enable support for TP-Link TL-W722N USB Wifi adapter
-SRC_URI_append = " file://ath9k_htc.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/ath9k_htc.cfg"
-
-# Enable support for RTLSDR
-SRC_URI_append = " file://rtl_sdr.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtl_sdr.cfg"
-
-# Additional drivers for virtual machines
-# OVERRIDES save us some c'n'p below ...
-OVERRIDES_prepend_qemux86 = "virtualmachine:"
-OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
-SRC_URI_append_virtualmachine = " file://vbox-vmware-sata.cfg"
-KERNEL_CONFIG_FRAGMENTS_append_virtualmachine = " ${WORKDIR}/vbox-vmware-sata.cfg"
-
-# Extra configuration for using qemux86-64 image on physical hardware
-SRC_URI_append_qemux86-64 = "\
- file://x86-extra-graphic-devices.cfg \
- file://x86-net-devices.cfg \
- file://x86-security-tpm.cfg \
- file://x86-usb-devices.cfg \
- file://x86-upsquare.cfg \
-"
-KERNEL_CONFIG_FRAGMENTS_append_qemux86-64 = "\
- ${WORKDIR}/x86-extra-graphic-devices.cfg \
- ${WORKDIR}/x86-net-devices.cfg \
- ${WORKDIR}/x86-security-tpm.cfg \
- ${WORKDIR}/x86-usb-devices.cfg \
- ${WORKDIR}/x86-upsquare.cfg \
-"
-
-# Enable support for smack
-KERNEL_CONFIG_FRAGMENTS_append_with-lsm-smack = "\
- ${WORKDIR}/audit.cfg \
- ${WORKDIR}/smack.cfg \
- ${WORKDIR}/smack-default-lsm.cfg \
-"
-
-# ALSA support and other sound related configuration
-SRC_URI_append = " file://sound.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/sound.cfg"
-
-# iio-dummy-device support for test iiodevice
-SRC_URI_append = " file://iiodevice.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/iiodevice.cfg"
-
-# external rtc support via e.g. http://wiki.seeedstudio.com/Grove-RTC/
-SRC_URI_append = " file://rtc.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtc.cfg"
-
-# netfilter options
-SRC_URI_append = " file://netfilter.cfg"
-KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/netfilter.cfg"
-
-# Enable support for SystemTap
-SRC_URI_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'file://systemtap.cfg', '', d)}"
-KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '${WORKDIR}/systemtap.cfg', '', d)}"
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index 386112024..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require linux-agl.inc
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
deleted file mode 100644
index ff12e6dab..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_CFG80211=m
-CONFIG_MAC80211=m
-CONFIG_WLAN_VENDOR_ATH=m
-CONFIG_ATH9K_HTC=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg
deleted file mode 100644
index dd7c460bb..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg
+++ /dev/null
@@ -1,37 +0,0 @@
-CONFIG_BT=m
-CONFIG_BT_BREDR=y
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-CONFIG_BT_LEDS=y
-# CONFIG_BT_SELFTEST is not set
-CONFIG_BT_DEBUGFS=y
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_INTEL=m
-CONFIG_BT_BCM=m
-CONFIG_BT_RTL=m
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTUSB_BCM=y
-CONFIG_BT_HCIBTUSB_RTL=y
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBFUSB=m
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_BT_MRVL is not set
-# CONFIG_BT_ATH3K is not set
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_CMAC=m
-
-#
-# Bluetooth AVRCP support
-#
-CONFIG_INPUT_UINPUT=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg
deleted file mode 100644
index 57e25fc6f..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg
+++ /dev/null
@@ -1,41 +0,0 @@
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-# CONFIG_TASK_XACCT is not set
-CONFIG_USER_RETURN_NOTIFIER=y
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-
-#
-# CAN Device Drivers
-#
-CONFIG_CAN_C_CAN=m
-CONFIG_CAN_C_CAN_PLATFORM=m
-CONFIG_CAN_VCAN=m
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_LEDS is not set
-# CONFIG_CAN_SJA1000 is not set
-# CONFIG_CAN_M_CAN is not set
-# CONFIG_CAN_CC770 is not set
-
-#
-# CAN SPI interfaces
-#
-CONFIG_CAN_MCP251X=m
-
-#
-# CAN USB interfaces
-#
-# CONFIG_CAN_EMS_USB is not set
-CONFIG_CAN_ESD_USB2=m
-CONFIG_CAN_GS_USB=m
-CONFIG_CAN_KVASER_USB=m
-CONFIG_CAN_PEAK_USB=m
-CONFIG_CAN_8DEV_USB=m
-CONFIG_CAN_MCBA_USB=m
-# CONFIG_CAN_SOFTING is not set
-# CONFIG_CAN_DEBUG_DEVICES is not set
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
deleted file mode 100644
index 65fe71cd0..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_DRM_BOCHS=y
-CONFIG_DRM_VIRTIO_GPU=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
deleted file mode 100644
index de5dd8d31..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable the fanotify API (notification/interception of FS events)
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
deleted file mode 100644
index 327c753ae..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_HID_MULTITOUCH=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg
deleted file mode 100644
index 248b5118a..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# enabling I2C and LED for demonstrator
-CONFIG_I2C_TINY_USB=y
-CONFIG_LEDS_BLINKM=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg
deleted file mode 100644
index c5b8ff35e..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Extcon Device Drivers
-#
-CONFIG_IIO=y
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
-CONFIG_IIO_KFIFO_BUF=y
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_TRIGGER=y
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-
-#
-# IIO dummy driver
-#
-CONFIG_IIO_DUMMY_EVGEN=m
-CONFIG_IIO_SIMPLE_DUMMY=m
-CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
-CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
-
-#
-# Triggers - standalone
-#
-CONFIG_IIO_HRTIMER_TRIGGER=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg
deleted file mode 100644
index 2201bcb00..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_INPUT_JOYDEV=y
-CONFIG_INPUT_JOYSTICK=y
-CONFIG_JOYSTICK_ADI=y
-CONFIG_GAMEPORT=y
-CONFIG_HID_LOGITECH=y
-CONFIG_LOGIWHEELS_FF=y
-CONFIG_HID_LOGITECH_HIDPP=y
-CONFIG_LOGITECH_FF=y
-CONFIG_LOGIG940_FF=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
deleted file mode 100644
index af37685e4..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_BLK_DEV_NBD=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch b/meta-agl-bsp/recipes-kernel/linux/linux/net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch
deleted file mode 100644
index 37ace5a58..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/net-sch_generic-Use-pfifo_fast-as-fallback-scheduler.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 546b85bb0aadb5a928b49b53dc02911996169c0b Mon Sep 17 00:00:00 2001
-From: Vincent Prince <vincent.prince.fr@gmail.com>
-Date: Wed, 23 Oct 2019 15:44:20 +0200
-Subject: [PATCH] net: sch_generic: Use pfifo_fast as fallback scheduler for
- CAN hardware
-
-There is networking hardware that isn't based on Ethernet for layers 1 and 2.
-
-For example CAN.
-
-CAN is a multi-master serial bus standard for connecting Electronic Control
-Units [ECUs] also known as nodes. A frame on the CAN bus carries up to 8 bytes
-of payload. Frame corruption is detected by a CRC. However frame loss due to
-corruption is possible, but a quite unusual phenomenon.
-
-While fq_codel works great for TCP/IP, it doesn't for CAN. There are a lot of
-legacy protocols on top of CAN, which are not build with flow control or high
-CAN frame drop rates in mind.
-
-When using fq_codel, as soon as the queue reaches a certain delay based length,
-skbs from the head of the queue are silently dropped. Silently meaning that the
-user space using a send() or similar syscall doesn't get an error. However
-TCP's flow control algorithm will detect dropped packages and adjust the
-bandwidth accordingly.
-
-When using fq_codel and sending raw frames over CAN, which is the common use
-case, the user space thinks the package has been sent without problems, because
-send() returned without an error. pfifo_fast will drop skbs, if the queue
-length exceeds the maximum. But with this scheduler the skbs at the tail are
-dropped, an error (-ENOBUFS) is propagated to user space. So that the user
-space can slow down the package generation.
-
-On distributions, where fq_codel is made default via CONFIG_DEFAULT_NET_SCH
-during compile time, or set default during runtime with sysctl
-net.core.default_qdisc (see [1]), we get a bad user experience. In my test case
-with pfifo_fast, I can transfer thousands of million CAN frames without a frame
-drop. On the other hand with fq_codel there is more then one lost CAN frame per
-thousand frames.
-
-As pointed out fq_codel is not suited for CAN hardware, so this patch changes
-attach_one_default_qdisc() to use pfifo_fast for "ARPHRD_CAN" network devices.
-
-During transition of a netdev from down to up state the default queuing
-discipline is attached by attach_default_qdiscs() with the help of
-attach_one_default_qdisc(). This patch modifies attach_one_default_qdisc() to
-attach the pfifo_fast (pfifo_fast_ops) if the network device type is
-"ARPHRD_CAN".
-
-[1] https://github.com/systemd/systemd/issues/9194
-
-Suggested-by: Marc Kleine-Budde <mkl@pengutronix.de>
-Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-Signed-off-by: Vincent Prince <vincent.prince.fr@gmail.com>
-Acked-by: Dave Taht <dave.taht@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- net/sched/sch_generic.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
-index ed5b0e9fd395..4c5dfcb01e00 100644
---- a/net/sched/sch_generic.c
-+++ b/net/sched/sch_generic.c
-@@ -1038,6 +1038,8 @@ static void attach_one_default_qdisc(struct net_device *dev,
-
- if (dev->priv_flags & IFF_NO_QUEUE)
- ops = &noqueue_qdisc_ops;
-+ else if(dev->type == ARPHRD_CAN)
-+ ops = &pfifo_fast_ops;
-
- qdisc = qdisc_create_dflt(dev_queue, ops, TC_H_ROOT, NULL);
- if (!qdisc) {
---
-2.25.0
-
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/netfilter.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/netfilter.cfg
deleted file mode 100644
index 34be704c1..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/netfilter.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg
deleted file mode 100644
index 6d863a075..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg
+++ /dev/null
@@ -1,34 +0,0 @@
-CONFIG_NFC=m
-CONFIG_NFC_DIGITAL=m
-CONFIG_NFC_NCI=m
-CONFIG_NFC_NCI_SPI=m
-CONFIG_NFC_HCI=m
-CONFIG_NFC_SHDLC=y
-CONFIG_NFC_TRF7970A=m
-CONFIG_NFC_MEI_PHY=m
-CONFIG_NFC_PORT100=m
-CONFIG_NFC_FDP=m
-CONFIG_NFC_FDP_I2C=m
-CONFIG_NFC_PN544=m
-CONFIG_NFC_PN544_I2C=m
-CONFIG_NFC_PN544_MEI=m
-CONFIG_NFC_PN533=m
-CONFIG_NFC_PN533_USB=m
-CONFIG_NFC_PN533_I2C=m
-CONFIG_NFC_MICROREAD=m
-CONFIG_NFC_MICROREAD_I2C=m
-CONFIG_NFC_MICROREAD_MEI=m
-CONFIG_NFC_MRVL=m
-CONFIG_NFC_MRVL_USB=m
-CONFIG_NFC_MRVL_I2C=m
-CONFIG_NFC_MRVL_SPI=m
-CONFIG_NFC_ST21NFCA=m
-CONFIG_NFC_ST21NFCA_I2C=m
-CONFIG_NFC_ST_NCI=m
-CONFIG_NFC_ST_NCI_I2C=m
-CONFIG_NFC_ST_NCI_SPI=m
-CONFIG_NFC_NXP_NCI=m
-CONFIG_NFC_NXP_NCI_I2C=m
-CONFIG_NFC_S3FWRN5=m
-CONFIG_NFC_S3FWRN5_I2C=m
-CONFIG_NFC_ST95HF=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg
deleted file mode 100644
index 6e08c25bc..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_CONNECTOR=y
-CONFIG_PROC_EVENTS=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
deleted file mode 100644
index 3d44de805..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=65536
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg
deleted file mode 100644
index 2641958a0..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_LIB=y
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-CONFIG_RTC_DRV_DS1307=m
-CONFIG_RTC_DRV_DS3232=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
deleted file mode 100644
index d4574700a..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_DVB_USB_V2=m
-CONFIG_DVB_USB_RTL28XXU=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg
deleted file mode 100644
index e8b09aa7c..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_SCHED_DEBUG=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg
deleted file mode 100644
index ad34ea680..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_MAX_CARDS=32
-CONFIG_SND_ALOOP=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/systemtap.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/systemtap.cfg
deleted file mode 100644
index 4886c27f1..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/systemtap.cfg
+++ /dev/null
@@ -1,9 +0,0 @@
-CONFIG_KPROBES=y
-CONFIG_UPROBES=y
-CONFIG_UPROBE_EVENTS=y
-CONFIG_FTRACE=y
-CONFIG_KPROBE_EVENTS=y
-CONFIG_RELAY=y
-CONFIG_DEBUG_FS=y
-CONFIG_DEBUG_INFO=y
-
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
deleted file mode 100644
index 7996ef1dd..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable the User-level Input driver (required by "wayland-fits")
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_UINPUT=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg
deleted file mode 100644
index 8e9e98ecb..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_USB_SERIAL=y
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_ACM=m
-CONFIG_CRC_CCITT=y
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_PCI=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg
deleted file mode 100644
index 5961f43d3..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg
deleted file mode 100644
index 3ded931e5..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_QUALCOMM=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg
deleted file mode 100644
index 7c6556c11..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-CONFIG_VIDEOBUF2_VMALLOC=y
-CONFIG_MEDIA_USB_SUPPORT=y
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
deleted file mode 100644
index ce1eca1a7..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-# enable harddrive driver for vmware/virtualbox
-CONFIG_ATA_PIIX=y
-CONFIG_SATA_AHCI=y
-CONFIG_ATA_SFF=y
-CONFIG_ATA_BMDMA=y
-CONFIG_ATA_GENERIC=y
-CONFIG_ATA_ACPI=y
-
-# needed for VMWare
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_FUSION=y
-CONFIG_FUSION_SPI=y
-CONFIG_DRM_VMWGFX=y
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_VMWARE_BALLOON=m
-CONFIG_VMWARE_VMCI=m
-CONFIG_VMWARE_VMCI_VSOCKETS=m
-CONFIG_SND_ENS1371=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg
deleted file mode 100644
index d2b64de67..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg
+++ /dev/null
@@ -1,40 +0,0 @@
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_RSI_91X=m
-CONFIG_RSI_DEBUGFS=y
-CONFIG_RSI_SDIO=m
-CONFIG_RSI_USB=m
-CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_USERPTR=y
-CONFIG_DRM_NOUVEAU=m
-CONFIG_NOUVEAU_DEBUG=5
-CONFIG_NOUVEAU_DEBUG_DEFAULT=3
-CONFIG_DRM_NOUVEAU_BACKLIGHT=y
-CONFIG_DRM_VGEM=m
-CONFIG_DRM_VMWGFX=m
-CONFIG_DRM_VMWGFX_FBCON=y
-CONFIG_DRM_GMA500=m
-CONFIG_DRM_GMA600=y
-CONFIG_DRM_GMA3600=y
-CONFIG_DRM_UDL=m
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_BACKLIGHT=y
-CONFIG_IRQ_BYPASS_MANAGER=m
-CONFIG_ACPI_WMI=m
-CONFIG_MXM_WMI=m
-CONFIG_SCHED_INFO=y
-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_KVM_ASYNC_PF=y
-CONFIG_HAVE_KVM_MSI=y
-CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
-CONFIG_KVM_VFIO=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_KVM_COMPAT=y
-CONFIG_HAVE_KVM_IRQ_BYPASS=y
-CONFIG_KVM=m
-CONFIG_KVM_INTEL=m
-CONFIG_CRC7=m
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/x86-net-devices.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/x86-net-devices.cfg
deleted file mode 100644
index 6c5b698a9..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/x86-net-devices.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_IGB=y
-CONFIG_IGB_DCA=y
-CONFIG_R8169=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/x86-security-tpm.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/x86-security-tpm.cfg
deleted file mode 100644
index b66b1b9b1..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/x86-security-tpm.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_TCG_TPM=y
-CONFIG_TCG_TIS=y
-CONFIG_TCG_CRB=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/x86-upsquare.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/x86-upsquare.cfg
deleted file mode 100644
index caac6168b..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/x86-upsquare.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-CONFIG_X86_INTEL_LPSS=y
-CONFIG_EXPERT=y
-CONFIG_SERIAL_8250_DMA=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_MFD_CORE=y
-CONFIG_MFD_INTEL_LPSS=y
-CONFIG_MFD_INTEL_LPSS_ACPI=y
-CONFIG_MFD_INTEL_LPSS_PCI=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/x86-usb-devices.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/x86-usb-devices.cfg
deleted file mode 100644
index 19c57796e..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/x86-usb-devices.cfg
+++ /dev/null
@@ -1,82 +0,0 @@
-CONFIG_BT_QCA=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_ATH3K=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIUART_QCA=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_HCIVHCI=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_SPY=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211_WEXT_EXPORT=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-CONFIG_LIB80211_CRYPT_TKIP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_RING=m
-CONFIG_VHOST=m
-CONFIG_MICROCHIP_PHY=m
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_HSO=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_ZD1201=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_RTL8180=m
-CONFIG_RTL8187=m
-CONFIG_RTL8187_LEDS=y
-CONFIG_MWL8K=m
-# CONFIG_B43_BUSES_BCMA_AND_SSB is not set
-# CONFIG_B43_BUSES_BCMA is not set
-# CONFIG_B43_BUSES_SSB is not set
-CONFIG_BRCMFMAC_PROTO_MSGBUF=y
-CONFIG_BRCMFMAC_PCIE=y
-CONFIG_IPW2100=m
-CONFIG_IPW2100_MONITOR=y
-CONFIG_IPW2100_DEBUG=y
-CONFIG_IPW2200=m
-CONFIG_IPW2200_MONITOR=y
-CONFIG_IPW2200_RADIOTAP=y
-CONFIG_IPW2200_PROMISCUOUS=y
-CONFIG_IPW2200_QOS=y
-CONFIG_IPW2200_DEBUG=y
-CONFIG_LIBIPW=m
-CONFIG_LIBIPW_DEBUG=y
-CONFIG_LIBERTAS=m
-CONFIG_LIBERTAS_USB=m
-CONFIG_LIBERTAS_SDIO=m
-CONFIG_LIBERTAS_SPI=m
-# CONFIG_LIBERTAS_DEBUG is not set
-# CONFIG_LIBERTAS_MESH is not set
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_WLAN_VENDOR_TI=y
-CONFIG_WL1251=m
-# CONFIG_WL1251_SPI is not set
-# CONFIG_WL1251_SDIO is not set
-CONFIG_WL12XX=m
-CONFIG_WL18XX=m
-CONFIG_WLCORE=m
-CONFIG_WLCORE_SPI=m
-CONFIG_WLCORE_SDIO=m
-CONFIG_WILINK_PLATFORM_DATA=y
-CONFIG_ZD1211RW=m
-CONFIG_ZD1211RW_DEBUG=y
-CONFIG_MWIFIEX=m
-# CONFIG_MWIFIEX_SDIO is not set
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/xen_domu.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/xen_domu.cfg
deleted file mode 100644
index 8bc59eb1e..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux/xen_domu.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-CONFIG_XEN=y
-CONFIG_XEN_BLKDEV_FRONTEND=y
-CONFIG_XEN_SCSI_FRONTEND=y
-CONFIG_XEN_NETDEV_FRONTEND=y
-CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
-CONFIG_HVC_XEN=y
-CONFIG_HVC_XEN_FRONTEND=y
-CONFIG_XEN_FBDEV_FRONTEND=y
-CONFIG_MMC_SDHCI_XENON=y
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_SCRUB_PAGES_DEFAULT=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_GNTDEV_DMABUF=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_XEN_GRANT_DMA_ALLOC=y
-CONFIG_SWIOTLB_XEN=y
-CONFIG_XEN_PVCALLS_FRONTEND=y
-CONFIG_XEN_PRIVCMD=y
-CONFIG_XEN_AUTO_XLATE=y \ No newline at end of file
diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch
deleted file mode 100644
index 6232c4fa4..000000000
--- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From 11b29ce444610a07067a89b38e9e85c2162bbf67 Mon Sep 17 00:00:00 2001
-From: Tim Orling <timothy.t.orling@linux.intel.com>
-Date: Mon, 15 Oct 2018 18:30:42 -0700
-Subject: [PATCH 7/7] [WIP] Initial LAVA support
-
-Linaro Automated Validation Architecture (LAVA) launches a test suite
-on the target but thereafter only observes stdout.
-
-LAVA knows that a test case has started or ended based on signals
-emitted to stdout:
-(setup)
-<LAVA_SIGNAL_STARTTC test_case_name>
-(teardown)
-<LAVA_SIGNAL_ENDTC test_case_name>
-<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=test_case_name RESULT=pass|fail \
- [[ MEASUREMENT=numeric_measurement ][ UNITS=units_string]]>
-
-It is valid to have a measurement without units, but not units without a measurement.
-
-Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-[updated for ptest-runner 2.3.2]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
-diff --git a/flags.h b/flags.h
-new file mode 100644
-index 0000000..0dac223
---- /dev/null
-+++ b/flags.h
-@@ -0,0 +1,10 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+
-+/* Flag bit definitions */
-+
-+#ifndef __FLAGS_H__
-+#define __FLAGS_H__
-+
-+#define LAVA_SIGNAL_ENABLE (0x0001)
-+
-+#endif /* __FLAGS_H__ */
-diff --git a/main.c b/main.c
-index 01d60f7..165370f 100644
---- a/main.c
-+++ b/main.c
-@@ -38,6 +38,7 @@
- #endif
-
- #include "utils.h"
-+#include "flags.h"
-
- #ifndef DEFAULT_DIRECTORY
- #define DEFAULT_DIRECTORY "/usr/lib"
-@@ -74,8 +75,9 @@ main(int argc, char *argv[])
- opts.timeout = DEFAULT_TIMEOUT;
- opts.ptests = NULL;
- opts.xml_filename = NULL;
-+ opts.flags = 0;
-
-- while ((opt = getopt(argc, argv, "d:e:lt:x:h")) != -1) {
-+ while ((opt = getopt(argc, argv, "d:e:lt:x:Lh")) != -1) {
- switch (opt) {
- case 'd':
- free(opts.directory);
-@@ -122,6 +124,11 @@ main(int argc, char *argv[])
- opts.xml_filename = strdup(optarg);
- CHECK_ALLOCATION(opts.xml_filename, 1, 1);
- break;
-+ case 'L':
-+ // set LAVA signal mode
-+ opts.flags |= LAVA_SIGNAL_ENABLE;
-+ fprintf(stdout, "LAVA_SIGNAL_ENABLE == %d\n", opts.flags);
-+ break;
- default:
- print_usage(stdout, argv[0]);
- exit(1);
-diff --git a/utils.c b/utils.c
-index a8ba190..19f9efa 100644
---- a/utils.c
-+++ b/utils.c
-@@ -47,6 +47,7 @@
-
- #include "ptest_list.h"
- #include "utils.h"
-+#include "flags.h"
-
- #define GET_STIME_BUF_SIZE 1024
- #define WAIT_CHILD_POLL_TIMEOUT_MS 200
-@@ -439,6 +440,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
- fprintf(fp, "START: %s\n", progname);
- PTEST_LIST_ITERATE_START(head, p)
- char *ptest_dir = strdup(p->run_ptest);
-+ char *ptest = strdup(p->ptest);
- if (ptest_dir == NULL) {
- rc = -1;
- break;
-@@ -480,11 +482,15 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
- int status;
- int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0];
- FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr;
-+ char result[5]; // pass\0, fail\0, skip\0
-
- if (setpgid(child, pgid) == -1) {
- fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno));
- }
-
-+ if (opts.flags & LAVA_SIGNAL_ENABLE) {
-+ fprintf(stdout, "<LAVA_SIGNAL_STARTTC %s>\n", ptest);
-+ }
- sttime = time(NULL);
- fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime));
- fprintf(fp, "BEGIN: %s\n", ptest_dir);
-@@ -506,6 +512,14 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
-
- fprintf(fp, "END: %s\n", ptest_dir);
- fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, entime));
-+ if (opts.flags & LAVA_SIGNAL_ENABLE) {
-+ if (status)
-+ sprintf(result, "fail");
-+ else
-+ sprintf(result, "pass");
-+ fprintf(stdout, "<LAVA_SIGNAL_ENDTC %s>\n", ptest);
-+ fprintf(stdout, "<LAVA_SIGNAL_TESTCASE TEST_CASE_ID=%s RESULT=%s>\n", ptest, result);
-+ }
- }
- PTEST_LIST_ITERATE_END
- fprintf(fp, "STOP: %s\n", progname);
-diff --git a/utils.h b/utils.h
-index aa53707..df11e24 100644
---- a/utils.h
-+++ b/utils.h
-@@ -39,9 +39,9 @@ struct ptest_options {
- int timeout;
- char **ptests;
- char *xml_filename;
-+ unsigned int flags;
- };
-
--
- extern void check_allocation1(void *, size_t, char *, int, int);
- extern struct ptest_list *get_available_ptests(const char *);
- extern int print_ptests(struct ptest_list *, FILE *);
diff --git a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.%.bbappend b/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.%.bbappend
deleted file mode 100644
index 7a1d2a8f8..000000000
--- a/meta-agl-bsp/recipes-support/ptest-runner/ptest-runner_2.%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0007-WIP-Initial-LAVA-support.patch"
-
diff --git a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-mkimage-rpi4.bb b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-mkimage-rpi4.bb
index ae8fe71b6..b857cb19f 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-mkimage-rpi4.bb
+++ b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-mkimage-rpi4.bb
@@ -1,20 +1,20 @@
DESCRIPTION = "Xen hypervisor u-boot image"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
SECTION = "console/tools"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-ALLOW_EMPTY_${PN} = "1"
-FILES_${PN} = ""
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
S = "${WORKDIR}"
DEPENDS = "u-boot-mkimage-native "
# Only for aarch64
COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE_aarch64 = "(.*)"
+COMPATIBLE_MACHINE:aarch64 = "(.*)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-tools_git.bbappend b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-tools_git.bbappend
index 057f4564c..a67200618 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-tools_git.bbappend
+++ b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen-tools_git.bbappend
@@ -3,9 +3,9 @@
PACKAGE_ARCH = "${MACHINE_ARCH}"
# rpi4
-LIC_FILES_CHKSUM_raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
-XEN_REL_raspberrypi4 = "4.13"
-SRCREV_raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
-SRC_URI_raspberrypi4 = " \
+LIC_FILES_CHKSUM:raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
+XEN_REL:raspberrypi4 = "4.13"
+SRCREV:raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
+SRC_URI:raspberrypi4 = " \
git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen_git.bbappend b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen_git.bbappend
index 1b9aaf4ca..2d63e1841 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen_git.bbappend
+++ b/meta-agl-bsp/virtualization-layer/recipes-extended/xen/xen_git.bbappend
@@ -1,17 +1,17 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
# make the package machine-specific
PACKAGE_ARCH = "${MACHINE_ARCH}"
# rpi4 specifics
-LIC_FILES_CHKSUM_raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
-XEN_REL_raspberrypi4 = "4.13"
+LIC_FILES_CHKSUM:raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
+XEN_REL:raspberrypi4 = "4.13"
-SRCREV_raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
-SRC_URI_append_raspberrypi4 = " file://0001-XEN-on-RPi4-1GB-lmitation-workaround-XEN-tries-to-al.patch"
+SRCREV:raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
+SRC_URI:append:raspberrypi4 = " file://0001-XEN-on-RPi4-1GB-lmitation-workaround-XEN-tries-to-al.patch"
#due to incorrect xen binary preparation in external library, we add additional deploy
-do_deploy_append_raspberrypi4() {
+do_deploy:append:raspberrypi4() {
if [ -f ${B}/xen/xen ]; then
install -m 0644 ${B}/xen/xen ${DEPLOYDIR}/xen-${MACHINE}
fi
diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch
new file mode 100644
index 000000000..8bc102c92
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch
@@ -0,0 +1,34 @@
+From 39dea63ebce2764c683c8c2eddbb10cf07a970c4 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Mon, 19 Dec 2022 11:51:28 +0200
+Subject: [PATCH] virgl/virgl_driinfo.h.in: Disable by default emulated BGRA
+ and swizzling
+
+Workaround in place for virtio aarch64 to avoid graphical artefacts when
+first time booting up on PVR host driver.
+
+Introduced with patch 'virgl: Always enable emulated BGRA and swizzling
+unless specifically told not to' in mesa-20.3.0.
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ src/gallium/drivers/virgl/virgl_driinfo.h.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/drivers/virgl/virgl_driinfo.h.in b/src/gallium/drivers/virgl/virgl_driinfo.h.in
+index f57e5880965..1c06f932c5c 100644
+--- a/src/gallium/drivers/virgl/virgl_driinfo.h.in
++++ b/src/gallium/drivers/virgl/virgl_driinfo.h.in
+@@ -8,7 +8,7 @@
+ // 5. Implement the tweak in virglrenderer
+ DRI_CONF_SECTION_MISCELLANEOUS
+ DRI_CONF_FORMAT_L8_SRGB_ENABLE_READBACK(false)
+- DRI_CONF_GLES_EMULATE_BGRA(true)
+- DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(true)
++ DRI_CONF_GLES_EMULATE_BGRA(false)
++ DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(false)
+ DRI_CONF_GLES_SAMPLES_PASSED_VALUE(1024, 1, 400000000)
+ DRI_CONF_SECTION_END
+--
+2.35.1
+
diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend
new file mode 100644
index 000000000..0a6606ebf
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
new file mode 100644
index 000000000..5970414eb
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
+
+SRC_URI:append:virtio-all = " \
+ git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=master \
+ file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
+"
+
+SRCREV_agl-meta = "c5008f4ba9e1b9f11c1014b53477079e605ceab7"
+
+COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
new file mode 100644
index 000000000..2d1570e9f
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
@@ -0,0 +1,13 @@
+# SPDX-License-Identifier: MIT
+define KMACHINE virtio-aarch64
+define KTYPE standard
+define KARCH arm64
+
+include ktypes/standard/standard.scc nopatch
+include arch/arm/aarch64.scc
+include cfg/8250.scc
+include cfg/virtio.scc
+include bsp/virtio/agl-virtio.scc
+
+# enable the ability to run 32 bit apps
+include arch/arm/32bit-compat.scc
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg
new file mode 100644
index 000000000..2facc345e
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg
@@ -0,0 +1,3 @@
+CONFIG_DRM=y
+CONFIG_FB=y
+CONFIG_DRM_FBDEV_EMULATION=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg
new file mode 100644
index 000000000..bbcaca312
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg
@@ -0,0 +1,3 @@
+CONFIG_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_PCI_HOST_GENERIC=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend
new file mode 100644
index 000000000..6952436a3
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+# Cannot just append to SRC_URI, as the metadata interferes with the
+# AGL config fragment scheme
+AGL_KERNEL_SRC:prepend:virtio-all = " \
+ git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=kernel-5.15 \
+ file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
+"
+
+SRCREV_agl-meta = "4deb7357eab5962b0553a5ad1f11be5ac35f9da9"
+
+AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \
+ virtio-drm.cfg \
+ virtio-pci.cfg \
+"
+
+COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-bsp/wic/systemd-joule-bootdisk.wks b/meta-agl-bsp/wic/systemd-joule-bootdisk.wks
deleted file mode 100644
index a318e2315..000000000
--- a/meta-agl-bsp/wic/systemd-joule-bootdisk.wks
+++ /dev/null
@@ -1,12 +0,0 @@
-# short-description: Custom EFI disk image with systemd-boot
-# long-description: Creates a partitioned EFI disk image that the user
-# can directly dd to boot media. The selected bootloader is systemd-boot
-# and we do not have swap. We assume a Joule system and provide an
-# appropriate kernel command line.
-
-part /boot --source bootimg-efi --sourceparams="loader=systemd-boot,initrd=microcode.cpio" --use-uuid --label msdos --active --align 1024
-
-part / --source rootfs --fstype=ext4 --label platform --align 1024 --use-uuid
-
-# Modify the append line here as needed to suit the environment
-bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4 console=ttyS2,115200n8 console=tty0 video=efifb maxcpus=4 noxsave reboot=efi kmemleak=off"