[agl-discussions] CES 2018 M3ULCB+Kingfisher building and status

Matt Porter mporter at konsulko.com
Tue Dec 12 22:12:21 UTC 2017


Hi all,

For those looking to develop support for the CES 2018 main demo
platform, the target platform is M3ULCB+Kingfisher. As of now, we do
not have a turnkey build available in master or eel for this platform.
It is possible to boot a stock M3ULCB kernel and dtb on KF but none of
the additional peripherals will be usable. The following instructions
are a quick guide on how to build a KF-enabled set of images.

Build
-----

As always, please refer to
http://docs.automotivelinux.org/docs/getting_started/en/dev/reference/machines/R-Car-Starter-Kit-gen3.html
as this is canonical "Getting Started" resource.

It's very important to update the Sample Loader and MiniMonitor
*before* assembling your M3ULCB Starter Kit and the Kingfisher
peripheral board. Once that process has been completed, it's also
important to update the entire set of firmware on the M3ULCB (the
U-Boot update contains a fix for loading larger kernels that the KF
kernel build hits on the stock M3ULCB U-Boot). Tom Rini has provided
pointers to this information in a pending update to the getting
started documentation on the R-Car3 platforms.
https://github.com/automotive-grade-linux/docs-agl/pull/98.
Specifically, follow
https://elinux.org/R-Car/Boards/Kingfisher#How_to_update_of_Sample_Loader_and_MiniMonitor
and https://elinux.org/R-Car/Boards/M3SK#Flashing_firmware to update
these components. A completed AGL KF build will contain the complete
set of firmware artifacts necessary to carry out these procedures and
get your board up to date.

The Kingfisher support is maintained in a layer with a pyro branch
forked from the upstream Kingfisher Yocto layer. In addition,
integration with AGL is contained within a meta-agl layer sandbox
containing the necessary template and package updates for Kingfisher
support.

As an example of integrating these layers with AGL, please see the
following commands which I use to download and build the Kingfisher
support against master:

---
repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo
repo sync

git clone -b pyro git://github.com/konsulko/meta-rcar

cd meta-agl
git checkout -b kf-v2.23.1-pyro remotes/agl/sandbox/ohporter/kf-v2.23.1-pyro
cd ..

source meta-agl/scripts/aglsetup.sh -f -m m3ulcb agl-demo agl-devel agl-netboot
bitbake agl-demo-platform
---

Status
------

The KF build adds an additional dtb file which must be loaded to gain
KF peripheral support. This dtb is "Image-r8a7796-m3ulcb-kf.dtb". Be
sure to modify your U-Boot environment to load the KF dtb.

The following status is current when booting with the KF dtb:

Graphics: fails, rotated/corrupted with KF DTB. Matt Ranostay has a workaround.
[Note: weston segfaults in stock master/eel today.
https://gerrit.automotivelinux.org/gerrit/#/c/12439/ is expected to
fix this]
Bluetooth:
   Pairing/Connect: Working
   A2DP: fails (rcar-dmac SCIF UART errors cause skips until failure)
   Voice Calls/ SCO: fails, no audio via PCM, forcing audio over HCI
results in distorted audio
WiFi: Working
Radio: FM radio working

Debugging/fixing the peripherals required for the CES 2018 demos is an
ongoing effort so expect the KF BSP layer to change regularly.

Regards,
Matt


More information about the automotive-discussions mailing list