aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/meta-raspberrypi
AgeCommit message (Collapse)AuthorFilesLines
2020-08-13meta-agl-bsp: meta-raspberrypi updates for YP 3.1.2Scott Murray5-106/+18
Changes include: - Rename bcm2835-bootfiles.bbappend to bootfiles.bbappend to match the recipe rename done in meta-raspberrypi - Update bootfile paths in rpi-config_git.bbappend to match the rename done in meta-raspberrypi - Remove local u-boot bbappend, as none of its changes are required with latest meta-raspberrypi and meta-updater - A previously silently failing command in the create-combined-dtb recipe's do_install when building with agl-sota enabled now triggers a build failure, logic has been added to handle meta-updater's disabling of the required overlay file. Bug-AGL: SPEC-3529 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ib5fd9f308fcd2da76ae882dd5b2413e56d3eee40 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25081 Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-07-21meta-agl-bsp: Remove Raspberry Pi 720p over-rideScott Murray1-4/+0
Remove weston.ini config fragment over-ride to force 720p that has been done for Raspberry Pi since scaling to screen size has been dropped with the switch to the new compositor. Raspberry Pi 4 is capable of running at 1080p without the memory issues of the Pi 3, so the scaling is not necessary for it, anyways. Bug-AGL: SPEC-3455 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ib7cac877491cfe492fbc9a4ed49c4ff98f080667 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25038 ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-05-26Raspberry 4: XEN supportLeonid Lazarev8-0/+200
Added the support for DOM0 in raspberry pi4. The feature agl-virt-xen should be enabled to activate this code. 1512 MB of memory is used for DOM0 machine. There are limitations: - brcmfmac module disabled (bluethooth and Wifi) due to the crash - total_memory is set to the 3Gb, as it impacts the USB ports on rasbperry pi4 on Linux kernel 4.19 v2 (jsmoeller): make changes in virtualization-layer conditional to raspberrypi4 Bug-AGL: SPEC-3259 Change-Id: I873fbf1f5498e31ae5f468407502f16e1873f7fc Signed-off-by: Leonid Lazarev <leonid.lazarev@mera.com> Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24522 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
2020-04-27meta-agl-bsp: update raspberrypi configuration for dunfellScott Murray3-17/+1
Changes: - Remove Mesa version over-ride, since dunfell has newer version. - Remove bcm2835-bootfiles SRCREV updates since dunfell has newer versions of the files. - Remove kernel SRCREV update in linux-raspberrypi_4.19.bbappend since dunfell has newer version, and add include of new linux-4.19-agl.inc to keep getting CAN qdisc patch. Bug-AGL: SPEC-3302 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I7f7a9b454de9eb4fae7075b30ee89b3aec4e6a43
2020-01-27meta-agl-bsp: meta-raspberrypi: handle zeus upgradeScott Murray42-3262/+7
Remove backported u-boot, mesa, userland, and linux-raspberrypi recipes, tweaking local bbappends as required. Note that the linux-raspberrypi bump to 4.19.80 for rpi4 dual screen support is now handled via bbappend. Bug-AGL: SPEC-2932 Change-Id: I019633e86a921b9444bc718ac0557b04f25b27f4 Signed-off-by: Scott Murray <scott.murray@konsulko.com>
2019-11-27Enable pi 4 boot log on console output temporarilyLi Xiaoming1-0/+2
Although the rpi-config_git.bbappend enable ENABLE_UART_raspberrypi4 = "1", it seems make no effect. This patch is temporary solution, which can do some help to debug pi 4 boot issue. Bug-AGL: SPEC-2995 Change-Id: I0b634c4d8df576884b939ea259d4f8b7ca5330d7 Signed-off-by: Li Xiaoming <lixm.fnst@cn.fujitsu.com>
2019-11-05Generalize create-combined-dtb to use VC4DTBO from board configJan-Simon Moeller1-6/+22
and also add the rpi4. Bug-AGL: SPEC-2465 Bug-AGL: SPEC-2656 . Change-Id: Ied2dce914ecc539c7634214b571508d371116235 Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2019-11-05bcm2835-bootfiles.bbappend: Update firmwareLeon Anavi1-8/+8
Update the firmware to support Linux kernel 4.19.80 for Raspberry Pi 3 B/B+ and 4. This way both the HDMI and the official 7" Raspberry Pi touch screen display are supported. Bug-AGL: SPEC-2465 Change-Id: Idb028b8abca5a44da2783def8af2c28f04de66d2 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-11-05linux-raspberrypi_4.19.bb: Update to 4.19.80Leon Anavi1-2/+2
Update Linux kernel for Raspberry Pi to 4.19.80. This version allows to run firmware KMS to support output through HDMI and DSI for the official 7" Raspberry Pi touch screen display. Bug-AGL: SPEC-2465 Change-Id: Ie854f8609196f986a1f9067da1010fb2e510e7c4 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-11-04rpi-config: Set max_framebuffers to 2 to support dual displayChanghyeok Bae1-0/+5
Change-Id: Id9ca08ede2aedbc122a04d97ca4bb5bd8478b717 Signed-off-by: Changhyeok Bae <changhyeok.bae@daimler.com>
2019-10-28Add missing space in SRC_URI_append statementJan-Simon Möller1-1/+1
This fixes SPEC-2922. Bug-AGL: SPEC-2922 . Change-Id: I978c3d28e6d62885cd95ca6f2d2b32d34fa6933d Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> (cherry picked from commit 8a052edd56f801c465781b784bf1f53b15135c86)
2019-09-25raspberrypi4: Fix WiFiLeon Anavi2-0/+49
Apply patch from branch master of meta-raspberrypi as a bbappend to recipe linux-firmware-rpidistro to fix WiFi on Raspberry Pi 4. This is a temporary solution while AGL master is still based on Thud. As soon as AGL moves to newer release of the Yocto Project and layer meta-raspberrypi this patch will become reduntant. The change of boardflags3 value from "0x48200100" to "0x44200100" has been done already in Raspbian (2019-06-20). For more details: https://github.com/RPi-Distro/firmware-nonfree/issues/3 Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: Ifaafbae6ff59a43f95926e64f1ce35aefadd3cfa
2019-09-20raspberrypi4: enable v3d and dependencies in mesaJan-Simon Möller1-0/+2
To enable the gfx acceleration, enable the necessary flags in mesa. Bug-AGL: SPEC-2656 Change-Id: I8bfb2f4034679f4703ddcb4bdb4c1363eee3d9d4 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2019-09-19mesa: Upgrade Mesa for Raspberry Pi 4Leon Anavi16-0/+2080
Bring Mesa 19.1.6 to meta-agl-bsp/meta-raspberrypi because there are driver issues with Mesa 18.1 for Raspberry Pi 4. The recipes for this new version are coming from the master branch of layer openembedded-core. With the newer version of Mesa Weston works fine on Raspberry Pi 4 and the home screen appears as expected. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: I0d4f6e6fdff3c6ac54a72d19abfc292efcea7a3f
2019-09-13u-boot-2019.07: Fix for Raspberry Pi 4Leon Anavi10-5/+514
Following recent changes in the BSP the recipe for u-boot 2019.07 was failing to build for Raspberry Pi 4. This fix brings existing patches from master branch of meta-raspberrypi to AGL which is still based on Yocto project release Thud. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: Ic544d02032198dc05da24bc3246e8911d300c1ea Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-08-25Fix combined dtb names to match original filebuild.automotivelinux.org1-4/+4
Make the filenames conformant to the original files. Thanks to Khouloud Touil for finding this. Good catch! Change-Id: I1e4e95dc1148ddf1a9a3a09c22ceab75d1d88115 Bug-AGL: SPEC-2721 Signed-off-by: build.automotivelinux.org <jenkins@automotivelinux.org>
2019-08-12uEnv.txt: Modify uEnv.txt for SOTALeon Anavi2-14/+42
Modify uEnv.txt and uEnv.cma.txt according to the recent changes in layers meta-updater and meta-updater-raspberrypi to ensure that AGL image with agl-sota feature will boot properly on Raspberry Pi 3 B/B+. Bug-AGL: SPEC-2729 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: Ib8fe74bcd6e12208aaddc81f608fe84eee9de601
2019-08-12u-boot_2019.07.bbappend: Apply patch for AGL SOTALeon Anavi2-0/+88
Recently we have updated u-boot to version 2019.07 to support Raspberry Pi 4 in AGL based on Yocto release Thud. Therefore a new version of the patch from meta-updater-raspberrypi branch warrior has to be applied to successfully build U-Boot when feature agl-sota is enabled. Bug-AGL: SPEC-2729 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: Ie72cc9b81ff6e041cfe6edb26f383b7e0d43d8f9
2019-08-12create-combined-dtb: Check if DTB files existLeon Anavi1-8/+20
Check if files exist before creating and deploying DTB. In some cases, for example with AGL SOTA, the DTB and DTBO files might not exist and without checks the recipe will fail. Bug-AGL: SPEC-2729, SPEC-1775 Change-Id: Id96e0c56989569feead076406534334766604cfd Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-07-24bcm2835-bootfiles.bbappend: Support Raspberry Pi 4Leon Anavi1-0/+11
Use different bootfiles if the machine has been set to the new Raspberry Pi 4 and keep the old files for Raspberry Pi 3. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: I3cbacc45c0f82ce2c70641c008ad2975a9e58fbd
2019-07-24rpi-config_git.bbappend: Update for Raspberry Pi 4Leon Anavi1-0/+20
Extend the deploy task to support Rasppberry Pi 4. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: I3a166a873b431539e154ef6a2b1e69df02a0f2a3
2019-07-24u-boot_2019.07: Bootloader for Raspberry Pi 4Leon Anavi6-0/+457
Add U-Boot version that supports Raspberry Pi 4. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: Ib550e38c7ecaf0ab2149b04666cffdcbaaf08134
2019-07-24linux-raspberrypi: Add 4.19 for Raspberry Pi 4Leon Anavi5-1/+158
Add recipe for Linux kernel 4.19 for Raspberry Pi 4 and keep 4.14 for Raspberry Pi 3. The recipe for 4.19 is backported from master branch of the upstream of meta-raspberrypi. Bug-AGL: SPEC-2656 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Change-Id: I93bbc5527383e26862894859bff6e44a6bc17966 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2019-07-13Revert "Fix rpi touchscreen support on master"Jan-Simon Moeller8-1112/+4
We need to reconsider this changeset. It seems to produce a regression. This reverts commit ccb667c35ffdea7a2bc1304750e6b22368cd55f7. Change-Id: I42754a899e8530f4e18a069ed227f18a8d615801
2019-06-05Fix rpi touchscreen support on masterJan-Simon Möller8-4/+1112
We seem to miss a few bits that changed between kernel 4.9 and kernel 4.14 regarding the 7'' touchscreen. One addition is the rpi-backlight.dtbo which we also need to use in our create-combined-dtb recipe for CI use. We also seem to require https://github.com/raspberrypi/linux/pull/2693#issue-217750943 . Thanks to Scott Murray for the help digging through this. v2 and v3: add devicetree changes v4 and v5: fix name of dtbo v6: move append to machine include - we need it as a global var v7: add to config.txt for sdcard boot case Bug-AGL: SPEC-2465 Change-Id: I2bb3cd974b74a790292e1f36ffdca034928e0bca Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
2019-05-24-118/+0
Use linux-firmware-raspbian packages for bcm43430 and bcm43455. Bug-AGL: SPEC-1729, SPEC-1652 Change-Id: Ib634ee3351fa91d8d1704656f4a40d1b40cd05e3 Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2018-08-14linux-firmware: Enable WiFi for Raspberry Pi 3 B+Leon Anavi4-0/+118
Add binary blobs for brcmfmac43455 to enable WiFi for the new Raspberry Pi 3 Model 3 B+. At the moment meta-raspberrypi provides this for latest releases but not for Rocko. This fix should remain in meta-agl until AGL moves to sumo or until we backport the required changes to meta-raspberrypi branch rocko. Bug-AGL: SPEC-1652 Change-Id: I644938ac3799b0e831f022fff9b2bc85aa8fd27c Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
2018-04-03Add hci uart ko cfg for rpi3 on board bluetoothPhong Tran2-0/+16
Enable HCI UART for fixing current lacking of hci-uart.ko which made brcm43438.service fails to start. Change-Id: I0905820daa4bc1b36f2677f2f685f17a71fe11e6 Signed-off-by: Phong Tran <tranmanphong@gmail.com>
2017-11-22Rework Linux Kernel fragment applicationsTom Rini4-145/+8
- All kernel recipes must inherit linux-agl.inc - All kernel recipes for a given version (e.g. 4.9) should include linux-VER-agl.inc in order to avoid duplication (such as the SMACK label patch or security fixes) - We enforce having merge_config.sh be invoked at the end, in order to make sure fragments will be applied. - Add a new fragment for Raspberry Pi to ensure the Pi Touchscreen is still enabled. With all of the above, we fix a number of minor issues as well, such as platforms manually enabling NBD/RAMDISK for netboot as the previous logic was not working in all cases. Bug-AGL: SPEC-946 Change-Id: Ic688e899df5861d83712af12d8e1c6c3c9643300 Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/12063 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: José Bollo <jobol@nonadev.net> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-10-28Add joystick.cfg for usb joystick and steering-wheel kernel configurezheng_wenlong1-0/+3
Add joystick.cfg into meta-agl-bsp/recipes-kernel, Then include this cfg in each board bbappend. Related commit: https://gerrit.automotivelinux.org/gerrit/#/c/10463/ Change-Id: Ie484cc8017e7198cefa0d8e7476032c325a8348d Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11575 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Thomas Rini <trini@konsulko.com> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-10-20weston-ini-conf: Rework to use fragments to construct weston.iniTom Rini2-5/+7
Switch to constructing the weston.ini from fragments of files instead of variables and variable flags. This allows for much easier tracking of signatures by leveraging existing mechanisms. Update the Readme to explain how to do the various operations with fragments as well. Note that for QEMU we do not need to pass -show-cursor as it's already provided and we do want to change the VGA driver to one that reliably provides DRM support. For the HDMI connected screens, rather than name them by vendor name them first for connection and then required transformation for correct orientation. For board-specific options, move them to the board directories. When we need to change existing cfg options, rather than replace them the proper location to do this in is the do_configure function. Bug-AGL: SPEC-964 Change-Id: I2cceb4fd64f51eb2ab1d47419b77153cf02d7c12 Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11375 Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-10-12weston-ini-conf: Make this track variables correctly for signaturesTom Rini1-0/+2
bitbake does not know to track values that are found and used via getVarFlags() without them being otherwise refernced and tracked in ways that are otherwise caught. Further given that we use multiple levels of varflags here we need to be explicit in their tracking. Add all variables that we use to varflags where they are added to the metadata. Bug-AGL: SPEC-939 Change-Id: I32cf16c4354d733e086c6ea9a845934beff94715 Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/11255 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-09-18Add uvc.cfg for usb video class kernel configurezheng_wenlong1-0/+3
Add uvc.cfg into meta-agl-bsp/recipes-kernel, Then include this cfg in each board bbappend. See: https://gerrit.automotivelinux.org/gerrit/#/c/10803/ Change-Id: I5faebefef3560a27496103e1ad4a1ca70377a1ba Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10893 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-09-08Upgrade to pyroChanghyeok Bae16-2475/+1
u-boot: v2017.01 dlt-daemon: Remove gzipnative inheritance - gzipnative.bbclass is removed in pyro branch. - See ab0f46400c113c0d893be872727a67739d5e794d in poky. gpm: Remove bbappend file - upstream(meta-openembedded) is using git(v1.99.7) and this is not required anymore. gnutls: Remove bbappend file - The patch is already applied in upstream. agl-image-minimal: Remove ROOTFS_PKGMANAGE_BOOTSTRAP - ROOTFS_PKGMANAGE_BOOTSTRAP is removed in upstream. - Please see 529244ee212fe14019e35a5f163fab705ddbf141 in poky. freetype: Change hash value for v2.7.1 binary shadow: Remove shadow_%.bbappend - It's already applied upstream poky. Remove nativesdk-packagegroup-sdk-host.bbappend - It's already applied in upstream poky. faac: Remove bbappend file - It's already applied meta-openembedded upstream. pulseaudio: Change bbappend naming - Upstream yocto provides pulseaudio v10.0. weston: re-create patch to apply new version (v2.0.0) - Remove 0001-compositor-drm.c-Launch-without-input-devices.patch because it's already applied in new version. mesa: Remove 12.0.3 recipe and fix build error for qemux86-64 - Yocto upstream supports 17.0.2 and v12.0.3 is not required anymore in raspberrypi - Error: | configure: error: --enable-gallium-llvm selected but llvm-config is not found wayland-ivi-extension: Upgrade to latest master version - Due to weston upgrade, wayland-ivi-extension should be upgraded. packagegroup-ivi-common-core-multimedia: Remove alsa-lib - alsa-lib has empty package and it's not required anymore. Add agl-driver and agl-passenger in group and passwd - Parsing Error: agl-users: groupname agl-passenger does not have a static ID defined. poky-agl.conf: Change gstreamer default version to v1.10.x - Yocto upstream moves gstreamer to v1.10.4. af-main: Fix build error - Error: file /usr/local conflicts between attempted installs of af-main-1.0-r0.corei7_64 and base-files-3.0.14-r89.qemux86_64 intel-corei7-64: Change gstreamer-vaapi-1.0 name - gstreamer-vaapi-1.0 is moved to oe-core and its name is changed to gstreamer1.0-vaapi. linux-raspberrypi: Drop 4.4 bbappend - The upstream meta-raspberrypi doesn't support v4.4 anymore. - CVE patches are not required anymore. glibc: Remove bbappend - The bug-20116 is already applied in 2.25 cynara,security-manager: Fix build error - cynara: Replace bb.data to d - security-manager: Temporarily use 'no' in APPLY variable u-boot-ota: Add SRC_URI - In pyro, SRC_URI and S is moved from .inc to .bb linux-yocto: Remove 4.8 and 4.4 bbappend - Yocto 2.3 (Pyro) doesn't support v4.8 kernel anymore. - CVE patches in meta-agl-bsp are already applied in Yocto 2.3. tcf-agent: Remove bbappend file - This change is merged to upstream poky (pyro) bluez5: Remove recipe and add .bbappend - Yocto 2.3 (Pyro) already has same version. - bluetooth.conf file is added in .bbappend python-pycrypto: Remove recipe - meta-openembedded (Pyro) already has same version. meta-agl-bsp/classes/image.bbclass: Arrange for pyro - image.bbclass is taken from poky/meta/classes/image.bbclass and only changed IMAGE_TYPE_vm variable. libsoup: Fix native build error temporarily v2 (jsmoeller): meta-agl-bsp/meta-ti: - workaround patches in meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad_%.bbappend - fix old python code in meta-ti/recipes-arago/ipumm-fw/ipumm-fw_3.00.13.00.bb - workaround patches in meta-ti/recipes-arago/weston/weston_%.bbappend - make specific to dra7xx-evm: -- meta-ti/recipes-bsp/alsa-state/alsa-state.bbappend -- meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend -- rename meta-ti/recipes-multimedia/pulseaudio/pulseaudio/dra7xx-evm-set-default-sink-source.patch -- rename meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend TODO/FIXME's in: - meta-agl-bsp/meta-ti/recipes-arago/gstreamer/gstreamer1.0-plugins-bad_%.bbappend - meta-agl-bsp/meta-ti/recipes-arago/weston/weston_%.bbappend - meta-agl-bsp/meta-ti/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend - meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_%.bbappend Bug-AGL: SPEC-646 Change-Id: I4162ae887d3334e9102575e3724483aa25f4bd9c Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com> Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/10457
2017-06-29Fix CVE-2017-1000364 by backporting the patches for rpi3Jan-Simon Möller9-0/+2053
Backport of patches from upstream for 4.4 - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.4.74&id=4b359430674caa2c98d0049a6941f157d2a33741 - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.4.74&id=f41512c6acb71c63cf4e3bd50934365ae2a23891 - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.4.74&id=1f2284fac2180d7a9442c796d9755e3ce7ab0bd9 Backport of patches from upstream for 4.9 - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-4.9.y&id=cfc0eb403816c5c4f9667d959de5e22789b5421e - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-4.9.y&id=5d10ad6297260e9b85e7645ee544a6115bb229e4 - https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=linux-4.9.y&id=ce7fe8595902c3f03ef528c2dc1928b3f4b67fcf Bug-AGL: SPEC-705 Change-Id: If330fb7de09ab00f84d35a1e4c5343f958fcbf56 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/9857 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Leon Anavi <leon.anavi@konsulko.com>
2017-06-28Add CAN drivers by default to AGL boardsRomain Forlot1-6/+39
v2 (jsmoeller): Add append files for boards that need special handling. Change-Id: I172b71be6e825aa6399f22899e9b6eaacc86e72b Signed-off-by: Romain Forlot <romain.forlot@iot.bzh> Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/9791 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Stéphane Desneux <stephane.desneux@iot.bzh>
2017-04-26meta-agl-bsp/meta-raspberrypi: Upgrade to v12.0.3Changhyeok Bae6-9/+267
Yocto morty has mesa 12.0.1 but it has a bug for vc4 driver. The bug is fixed in v12.0.2 and yocto upstream provides v12.0.3. This commit is taking from https://github.com/GENIVI/meta-genivi-dev/commit/e9c013951feb5c78519da04513ab79baf400264e. Bug-AGL: SPEC-445 Change-Id: Idfd0878f3549c20eac77ae680a65347ec851bd94 Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/9253 Reviewed-by: Changhyeok Bae <changhyeok.bae@lge.com> Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-04-24Switch to meta-updaterAnton Gerasimov4-0/+49
Replace SOTA-related sections with includes, moved u-boot-ota common to minnowboard and qemu to meta-agl-bsp Change-Id: I0629a63154ff90bd712f621297b886505a2f462c Signed-off-by: Anton Gerasimov <anton@advancedtelematic.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/9189 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2017-04-19Use weston-init to startup westonRonan Le Martret2-21/+0
* weston.service should not be a part of weston recipes * remove weston.service from AGL weston recipes * yocto upstream uses the recipe weston-init to startup weston * customize weston-start with sed - remove openvt - add option to weston-launch * customize weston.service with sed - add option for weston * unified the weston startup beteween AGL BSPs * remove fix on the AGL BSP Bug-AGL: SPEC-452 Bug-AGL: SPEC-310 Change-Id: I12722826abdc004214d289961e900c36528ec6e3 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2017-03-30Generate weston.ini dynamicallyRonan Le Martret3-25/+4
* remove weston-intel.ini * add new package weston-ini-conf * the list of the sections of weston.ini is described in variable flags WESTONSECTION * each section is described in variable flags WESTONSECTION * each output screen is described in agl_screen variable Bug-AGL: SPEC-477 Change-Id: I3d25ab49018e3842c916993ba8b9bcc2428d5170 Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2017-03-23Removed wl-shell-emulator from AGLRonan Le Martret1-1/+1
Since CES2017, AGL doesn't use 'layer-add-surfaces' command. wl-shell-emultor.so is only required by 'layer-add-surfaces'. So we can remove wl-shell-emultor from AGL. Bug-AGL: SPEC-341 Change-Id: I0cad29ff1534e8d3fd4b94f8a13490b9fa19918e Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
2017-02-14raspberrypi-linux: add smack patchset to 4.9 bbappendMatt Ranostay3-75/+78
Breakout smack patchset files definitions into both 4.4 and 4.9 bbappends since the later only needs one of the patches. Issue: SPEC-443 Change-Id: I04afcaf55da2f9aa735e6798ba60a00ba0838726 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
"o">++) { if (halCtls[idx].ctl.numid == numid) { // translate low level numid to HAL one and normalise values json_object *halCtlJ = json_object_new_object(); json_object_object_add(halCtlJ, "label", json_object_new_string(halCtls[idx].label)); // idx+1 == HAL/NUMID json_object_object_add(halCtlJ, "tag" , json_object_new_int(halCtls[idx].tag)); // idx+1 == HAL/NUMID json_object_object_add(halCtlJ, "val" , volumeNormalise(ACTION_GET, &halCtls[idx].ctl, valJ)); if (halResponseJ) json_object_array_add(halResponseJ, halCtlJ); else halResponseJ=halCtlJ; break; } } if ( halCtls[idx].ctl.numid == 0) { afb_req_fail_f(request, "ctl-invalid", "Invalid Control numid=%d from alsa/getcontrol ctlJ=%s", numid, json_object_get_string(sndCtlJ)); goto OnErrorExit; } } return halResponseJ; OnErrorExit: return NULL; } STATIC json_object *halCallAlsaGetCtls (json_object *ctlsOutJ) { json_object *responseJ, *queryJ; int err, done; // Call now level CTL queryJ = json_object_new_object(); json_object_object_add(queryJ, "devid", json_object_new_string (halSndCard->devid)); json_object_object_add(queryJ, "ctl", ctlsOutJ); err= afb_service_call_sync("alsacore", "getctl", queryJ, &responseJ); if (err) goto OnErrorExit; // Let ignore info data if any and keep on response done = json_object_object_get_ex (responseJ, "response", &responseJ); if (!done) goto OnErrorExit; return responseJ; OnErrorExit: return NULL; } // retrieve a single HAL control from its tag. PUBLIC json_object *halGetCtlByTag (halRampEnumT tag) { json_object *responseJ, *valJ; alsaHalMapT *halCtls= halSndCard->ctls; int done, index; index = halCtlTagToIndex(tag); if (index < 0) goto OnErrorExit; responseJ = halCallAlsaGetCtls(json_object_new_int(halCtls[index].ctl.numid)); done = json_object_object_get_ex(responseJ, "val", &valJ); if (!done) goto OnErrorExit; return volumeNormalise(ACTION_GET, &halCtls[index].ctl, valJ); OnErrorExit: return NULL; } // Translate high level control to low level and call lower layer PUBLIC void halGetCtls(afb_req request) { int index; alsaHalMapT *halCtls= halSndCard->ctls; json_object *ctlsInJ, *ctlsOutJ, *responseJ; // get query from request ctlsInJ = afb_req_json(request); ctlsOutJ = json_object_new_array(); switch (json_object_get_type(ctlsInJ)) { case json_type_object: { index = halGetCtlIndex (request, ctlsInJ); if (index < 0) goto OnErrorExit; json_object_array_add (ctlsOutJ, json_object_new_int(halCtls[index].ctl.numid)); break; } case json_type_array: { for (int idx= 0; idx < json_object_array_length (ctlsInJ); idx++) { json_object *ctlInJ = json_object_array_get_idx (ctlsInJ, idx); index= halGetCtlIndex (request, ctlInJ); if (index < 0) goto OnErrorExit; json_object_array_add (ctlsOutJ, json_object_new_int(halCtls[index].ctl.numid)); } break; } default: afb_req_fail_f(request, "ctl-invalid", "Not a valid JSON ctl='%s'", json_object_get_string(ctlsInJ)); goto OnErrorExit; } // Call now level CTL responseJ = halCallAlsaGetCtls (ctlsOutJ); if (!responseJ) { afb_req_fail_f(request, "subcall:alsacore/getctl", "%s", json_object_get_string(responseJ)); goto OnErrorExit; } // map back low level response to HAL ctl with normalised values json_object *halResponse = HalGetPrepareResponse(request, responseJ); if (!halResponse) goto OnErrorExit; afb_req_success (request, halResponse, NULL); return; OnErrorExit: return; }; STATIC int UpdateOneSndCtl (alsaHalCtlMapT *ctl, json_object *sndCtlJ) { json_object *tmpJ, *ctlJ; json_object_object_get_ex (sndCtlJ, "name" , &tmpJ); ctl->name = (char*)json_object_get_string(tmpJ); json_object_object_get_ex (sndCtlJ, "id" , &tmpJ); ctl->numid = json_object_get_int(tmpJ); // make sure we face a valid Alsa Low level ctl if (!json_object_object_get_ex (sndCtlJ, "ctl" , &ctlJ)) goto OnErrorExit; json_object_object_get_ex (ctlJ, "min" , &tmpJ); ctl->minval = json_object_get_int(tmpJ); json_object_object_get_ex (ctlJ, "max" , &tmpJ); ctl->maxval = json_object_get_int(tmpJ); json_object_object_get_ex (ctlJ, "step" , &tmpJ); ctl->step = json_object_get_int(tmpJ); json_object_object_get_ex (ctlJ, "count" , &tmpJ); ctl->count = json_object_get_int(tmpJ); json_object_object_get_ex (ctlJ, "type" , &tmpJ); ctl->type = (snd_ctl_elem_type_t)json_object_get_int(tmpJ); // process dbscale TLV if any if (json_object_object_get_ex (sndCtlJ, "tlv" , &tmpJ)) { json_object *dbscaleJ; if (!json_object_object_get_ex (tmpJ, "dbscale" , &dbscaleJ)) { AFB_WARNING("TLV found but not DBscale attached ctl name=%s numid=%d", ctl->name, ctl->numid); } else { ctl->dbscale = malloc (sizeof (alsaHalDBscaleT)); json_object_object_get_ex (dbscaleJ, "min" , &tmpJ); ctl->dbscale->min = (snd_ctl_elem_type_t)json_object_get_int(tmpJ); json_object_object_get_ex (dbscaleJ, "max" , &tmpJ); ctl->dbscale->max = (snd_ctl_elem_type_t)json_object_get_int(tmpJ); json_object_object_get_ex (dbscaleJ, "step" , &tmpJ); ctl->dbscale->step = (snd_ctl_elem_type_t)json_object_get_int(tmpJ); json_object_object_get_ex (dbscaleJ, "mute" , &tmpJ); ctl->dbscale->mute = (snd_ctl_elem_type_t)json_object_get_int(tmpJ); } } return 0; OnErrorExit: return -1; } // this is call when after all bindings are loaded PUBLIC int halServiceInit (const char *apiPrefix, alsaHalSndCardT *alsaHalSndCard) { int err; json_object *queryurl, *responseJ, *devidJ, *ctlsJ, *tmpJ; alsaHalMapT *halCtls= alsaHalSndCard->ctls; // if not volume normalisation CB provided use default one if (!alsaHalSndCard->volumeCB) alsaHalSndCard->volumeCB=volumeNormalise; halSndCard= alsaHalSndCard; err= afb_daemon_require_api("alsacore", 1); if (err) { AFB_ERROR ("AlsaCore missing cannot use AlsaHAL"); goto OnErrorExit; } // register HAL with Alsa Low Level Binder queryurl = json_object_new_object(); json_object_object_add(queryurl, "prefix", json_object_new_string(apiPrefix)); json_object_object_add(queryurl, "sndname", json_object_new_string(alsaHalSndCard->name)); err= afb_service_call_sync ("alsacore", "halregister", queryurl, &responseJ); json_object_put(queryurl); if (err) { AFB_NOTICE ("Fail to register HAL to ALSA lowlevel binding Response='%s'", json_object_get_string(responseJ)); goto OnErrorExit; } // extract sound devidJ from HAL registration if (!json_object_object_get_ex(responseJ, "response", &tmpJ) || !json_object_object_get_ex(tmpJ, "devid", &devidJ)) { AFB_ERROR ("Ooops: Internal error no devidJ return from HAL registration Response='%s'", json_object_get_string(responseJ)); goto OnErrorExit; } // save devid for future use halSndCard->devid = strdup (json_object_get_string(devidJ)); // for each Non Alsa Control callback create a custom control ctlsJ= json_object_new_array(); for (int idx= 0; (halCtls[idx].ctl.name||halCtls[idx].ctl.numid); idx++) { json_object *ctlJ; // map HAL ctlTad with halCrlLabel to simplify set/get ctl operations using Labels halCtls[idx].label = halCtlsLabels[halCtls[idx].tag]; if (halCtls[idx].cb.callback != NULL) { ctlJ = json_object_new_object(); if (halCtls[idx].ctl.name) json_object_object_add(ctlJ, "name" , json_object_new_string(halCtls[idx].ctl.name)); if (halCtls[idx].ctl.minval) json_object_object_add(ctlJ, "min" , json_object_new_int(halCtls[idx].ctl.minval)); if (halCtls[idx].ctl.maxval) json_object_object_add(ctlJ, "max" , json_object_new_int(halCtls[idx].ctl.maxval)); if (halCtls[idx].ctl.step) json_object_object_add(ctlJ, "step" , json_object_new_int(halCtls[idx].ctl.step)); if (halCtls[idx].ctl.type) json_object_object_add(ctlJ, "type" , json_object_new_int(halCtls[idx].ctl.type)); if (halCtls[idx].ctl.count) json_object_object_add(ctlJ, "count", json_object_new_int(halCtls[idx].ctl.count)); if (halCtls[idx].ctl.value) json_object_object_add(ctlJ, "value", json_object_new_int(halCtls[idx].ctl.value)); if (halCtls[idx].ctl.dbscale) { json_object *dbscaleJ=json_object_new_object(); if (halCtls[idx].ctl.dbscale->max) json_object_object_add(dbscaleJ, "max" , json_object_new_int(halCtls[idx].ctl.dbscale->max)); if (halCtls[idx].ctl.dbscale->min) json_object_object_add(dbscaleJ, "min" , json_object_new_int(halCtls[idx].ctl.dbscale->min)); if (halCtls[idx].ctl.dbscale->step) json_object_object_add(dbscaleJ, "step", json_object_new_int(halCtls[idx].ctl.dbscale->step)); if (halCtls[idx].ctl.dbscale->mute) json_object_object_add(dbscaleJ, "mute", json_object_new_int(halCtls[idx].ctl.dbscale->mute)); json_object_object_add(ctlJ, "dbscale" , dbscaleJ); } if (halCtls[idx].ctl.enums) { json_object *enumsJ=json_object_new_array(); for (int jdx=0; halCtls[idx].ctl.enums[jdx]; jdx++) { json_object_array_add(enumsJ, json_object_new_string(halCtls[idx].ctl.enums[jdx])); } json_object_object_add(ctlJ, "enums" , enumsJ); } json_object_array_add(ctlsJ, ctlJ); } else { ctlJ = json_object_new_object(); if (halCtls[idx].ctl.numid) json_object_object_add(ctlJ, "ctl" , json_object_new_int(halCtls[idx].ctl.numid)); if (halCtls[idx].ctl.name) json_object_object_add(ctlJ, "name" , json_object_new_string(halCtls[idx].ctl.name)); json_object_array_add(ctlsJ, ctlJ); } } // Build new queryJ to add HAL custom control if any if (json_object_array_length (ctlsJ) > 0) { queryurl = json_object_new_object(); json_object_get(devidJ); // make sure devidJ does not get free by 1st call. json_object_object_add(queryurl, "devid",devidJ); json_object_object_add(queryurl, "ctl",ctlsJ); json_object_object_add(queryurl, "mode",json_object_new_int(QUERY_COMPACT)); err= afb_service_call_sync ("alsacore", "addcustomctl", queryurl, &responseJ); if (err) { AFB_ERROR ("Fail creating HAL Custom ALSA ctls Response='%s'", json_object_get_string(responseJ)); goto OnErrorExit; } } // Make sure response is valid json_object_object_get_ex (responseJ, "response" , &ctlsJ); if (json_object_get_type(ctlsJ) != json_type_array) { AFB_ERROR ("Response Invalid JSON array ctls Response='%s'", json_object_get_string(responseJ)); goto OnErrorExit; } // update HAL data from JSON response for (int idx= 0; idx < json_object_array_length (ctlsJ); idx++) { json_object *ctlJ = json_object_array_get_idx (ctlsJ, idx); err= UpdateOneSndCtl(&halCtls[idx].ctl, ctlJ) ; if (err) { AFB_ERROR ("Fail found MAP Alsa Low level=%s", json_object_get_string(ctlJ)); goto OnErrorExit; } } // finally register for alsa lowlevel event queryurl = json_object_new_object(); json_object_object_add(queryurl, "devid",devidJ); err= afb_service_call_sync ("alsacore", "subscribe", queryurl, &responseJ); if (err) { AFB_ERROR ("Fail subscribing to ALSA lowlevel events"); goto OnErrorExit; } return (0); OnErrorExit: return (1); }; // This receive all event this binding subscribe to PUBLIC void halServiceEvent(const char *evtname, json_object *eventJ) { int numid; alsaHalMapT *halCtls= halSndCard->ctls; json_object *numidJ, *valuesJ; AFB_DEBUG("halServiceEvent evtname=%s [msg=%s]", evtname, json_object_get_string(eventJ)); json_object_object_get_ex (eventJ, "id" , &numidJ); numid = json_object_get_int (numidJ); if (!numid) { AFB_ERROR("halServiceEvent noid: evtname=%s [msg=%s]", evtname, json_object_get_string(eventJ)); return; } json_object_object_get_ex (eventJ, "val" , &valuesJ); // search it corresponding numid in halCtls attach a callback if (numid) { for (int idx= 0; halCtls[idx].ctl.numid; idx++) { if (halCtls[idx].ctl.numid == numid && halCtls[idx].cb.callback != NULL) { halCtls[idx].cb.callback (halCtls[idx].tag, &halCtls[idx].ctl, halCtls[idx].cb.handle, valuesJ); } } } } // Every HAL export the same API & Interface Mapping from SndCard to AudioLogic is done through alsaHalSndCardT PUBLIC afb_verb_v2 halServiceApi[] = { /* VERB'S NAME FUNCTION TO CALL SHORT DESCRIPTION */ { .verb = "ping", .callback = pingtest , .info="ping test for API"}, { .verb = "ctl-list", .callback = halListCtls , .info="List AGL normalised Sound Controls"}, { .verb = "ctl-get", .callback = halGetCtls , .info="Get one/many sound controls"}, { .verb = "ctl-set", .callback = halSetCtls , .info="Set one/many sound controls"}, { .verb = "evt-sub", .callback = halSubscribe, .info="Subscribe to HAL events"}, { .verb = NULL} /* marker for end of the array */ };