diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-08-17 15:02:23 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-08-22 16:43:34 +0000 |
commit | 8b8bc41cac34759602dc7668df9edb038839b238 (patch) | |
tree | cb5bafb877a39832d5f27534dbf796567d9d78bc /import-layers/meta-raspberrypi/README | |
parent | b48b7b4109868a8c0ddda090992e936e821c7ea6 (diff) | |
download | talos-openbmc-8b8bc41cac34759602dc7668df9edb038839b238.tar.gz talos-openbmc-8b8bc41cac34759602dc7668df9edb038839b238.zip |
Squashed 'import-layers/meta-raspberrypi/' content from commit 2745399
Change-Id: I8a89d81813dea98209d089ef500a403ea4da5d9d
git-subtree-dir: import-layers/meta-raspberrypi
git-subtree-split: 2745399f75d7564fcc586d0365ff73be47849d0e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/meta-raspberrypi/README')
-rw-r--r-- | import-layers/meta-raspberrypi/README | 349 |
1 files changed, 349 insertions, 0 deletions
diff --git a/import-layers/meta-raspberrypi/README b/import-layers/meta-raspberrypi/README new file mode 100644 index 000000000..c39f9edeb --- /dev/null +++ b/import-layers/meta-raspberrypi/README @@ -0,0 +1,349 @@ +Quick links +=========== +Git repository web frontend: + http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/ +Mailing list (yocto mailing list): + yocto@yoctoproject.org +Issues management (redmine): + http://redmine.gherzan.ro/projects/meta-raspberrypi + + +Contents: +========= +1. Description +2. Yocto BSP Layer - Raspberry Pi + 2.A. How to use it + 2.B. Images +3. Optional build configuration + 3.A. Compressed deployed files + 3.B. GPU memory + 3.C. Add purchased license codecs + 3.D. Disable overscan + 3.E. Set overclocking options + 3.F. Video camera support with V4L2 drivers + 3.G. Enable offline compositing support + 3.H. Enable kgdb over console support + 3.I. Boot to U-Boot + 3.J. Image with Initramfs + 3.K. Device tree support + 3.L. Enable SPI bus + 3.M. Enable I2C + 3.N. Enable PiTFT support + 3.O. Enable UART support +4. Extra apps + 4.A. omxplayer +5. Board Configuration + 5.A. Audio Routing +6. Source code and mirrors +7. Contribution + 7.A. Mailing List + 7.B. Redmine +8. Maintainers + + +1. Description +============== + +This is the general hardware specific BSP overlay for the RaspberryPi device. + +More information can be found at: + http://www.raspberrypi.org/ (Official Site) + +The core BSP part of meta-raspberrypi should work with different +OpenEmbedded/Yocto distributions and layer stacks, such as: +* Distro-less (only with OE-Core). +* Angstrom. +* Yocto/Poky (main focus of testing). + +2. Yocto BSP Layer - RaspberryPi +================================ + +This layer depends on: + +URI: git://git.yoctoproject.org/poky +branch: master +revision: HEAD + +URI: git://git.openembedded.org/meta-openembedded +layers: meta-oe, meta-multimedia +branch: master +revision: HEAD + +2.A. How to use it +================== +a. source poky/oe-init-build-env rpi-build +b. Add needed layer to bblayers.conf: + - meta-raspberrypi +c. Set MACHINE in local.conf to one of the supported boards: + - raspberrypi + - raspberrypi0 + - raspberrypi2 + - raspberrypi3 +d. bitbake rpi-hwup-image +e. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) +f. Boot your RPI. + +2.B. Images +-=========== +* rpi-hwup-image + Hardware up image +* rpi-basic-image + Based on rpi-hwup-image with some added features (ex: splash) +* rpi-test-image + Image based on rpi-basic-image which includes most of the packages in this + layer and some media samples. + +3. Optional build configuration +=============================== + +There are a set of ways in which a user can influence different paramenters of the build. +We list here the ones that are closely related to this BSP or specific to it. For the rest +please check: http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html + +3.A. Compressed deployed files +============================== +1. Overwrite IMAGE_FSTYPES in local.conf + IMAGE_FSTYPES = "tar.bz2 ext3.xz" +2. Overwrite SDIMG_ROOTFS_TYPE in local.conf + SDIMG_ROOTFS_TYPE = "ext3.xz" +3. Overwrite SDIMG_COMPRESSION in local.conf + SDIMG_COMPRESSION = "xz" +*Accommodate the values above to your own needs (ex: ext3 / ext4). + +3.B. GPU memory +=============== +Variable : Details +GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and + GPU. ARM gets the remaining memory. Min 16. Default 64. +GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the + 512MB RP. Overrides gpu_mem. Max 192. Default not set. +GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the + 256MB RP. Overrides gpu_mem. Max 448. Default not set. +GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the + 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set. + +3.C. Add purchased license codecs +================================= +To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in +local.conf. Example: +KEY_DECODE_MPG2 = "12345678" +KEY_DECODE_WVC1 = "12345678" +You can supply more licenses separated by comma. Example: +KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321" + +3.D. Disable overscan +===================== +By default the GPU adds a black border around the video output to compensate for +TVs which cut off part of the image. To disable this set this variable in +local.conf: +DISABLE_OVERSCAN = "1" + +3.E. Set overclocking options +============================= +The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo +Mode" is officially supported by the raspbery and does not void warranty. +Check the config.txt for a detailed description of options and modes. Example: +# Turbo mode +ARM_FREQ = "1000" +CORE_FREQ = "500" +SDRAM_FREQ = "500" +OVER_VOLTAGE = "6" + +3.F. Video camera support with V4L2 drivers +=========================================== +Set this variable to enable support for the video camera (Linux 3.12.4+ required) +VIDEO_CAMERA = "1" + +3.G. Enable offline compositing support +======================================= +Set this variable to enable support for dispmanx offline compositing +DISMANX_OFFLINE = "1" + +This will enable the firmware to fall back to off-line compositing of +Dispmanx elements. Normally the compositing is done on-line, during scanout, +but cannot handle too many elements. With off-line enabled, an off-screen +buffer is allocated for compositing. When scene complexity (number and sizes +of elements) is high, compositing will happen off-line into the buffer. + +Heavily recommended for Wayland/Weston. + +See: http://wayland.freedesktop.org/raspberrypi.html + +3.H. Enable kgdb over console support +===================================== +To add the kdbg over console (kgdboc) parameter to the kernel command line, +set this variable in local.conf: +ENABLE_KGDB = "1" + +3.I. Boot to U-Boot +=================== +To have u-boot load kernel image, set in your local.conf +KERNEL_IMAGETYPE = "uImage" + +This will make kernel.img be u-boot image which will load uImage. +By default, kernel.img is the actual kernel image (ex. Image). + +3.J. Image with Initramfs +========================= +To build an initramfs image : + * Set this 3 kernel variables (in linux-raspberrypi.inc for example) + - kernel_configure_variable BLK_DEV_INITRD y + - kernel_configure_variable INITRAMFS_SOURCE "" + - kernel_configure_variable RD_GZIP y + * Set the yocto variables (in linux-raspberrypi.inc for example) + - INITRAMFS_IMAGE = "<a name for your initramfs image>" + - INITRAMFS_IMAGE_BUNDLE = "1" + * Set the meta-rasberrypi variable (in raspberrypi.conf for example) + - KERNEL_INITRAMFS = "-initramfs" + +3.K. Device tree support +========================= +Device tree for RPi is only supported when using linux-raspberrypi 3.18+ +kernels. + + * Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf) + - the trailer is added to the kernel image before kernel install task. + While creating the SDCard image, this modified kernel is put on + boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files). + +NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for + older kernel versions. + +3.L. Enable SPI bus +==================== +When using device tree kernels, set this variable to enable the SPI bus +ENABLE_SPI_BUS = "1" + +3.M. Enable I2C +=============== +When using device tree kernels, set this variable to enable I2C +ENABLE_I2C = "1" + +3.N. Enable PiTFT support +========================= +Basic support for using PiTFT screens can be enabled by adding +below in local.conf: + +MACHINE_FEATURES += "pitft" + - This will enable SPI bus and i2c device-trees, it will also setup + framebuffer for console and x server on PiTFT. + +NOTE: To get this working the overlay for the PiTFT model must be build, + added and specified as well (dtoverlay=<driver> in config.txt) + +Below is a list of currently supported PiTFT models in meta-raspberrypi, +the modelname should be added as a MACHINE_FEATURES in local.conf like below: + - MACHINE_FEATURES += "pitft <modelname>" + +List of currently supported models: + - pitft22 + - pitft28r + +3.O. Enable UART +=============== + +RaspberryPi 1, 2 and CM will have UART console enabled by default. + +RaspberryPi 3 does not have the UART enabled by default because this needs a +fixed core frequency and enable_uart wil set it to the minimum. Certain +operations - 60fps h264 decode, high quality deinterlace - which aren't +performed on the ARM may be affected, and we wouldn't want to do that to users +who don't want to use the serial port. Users who want serial console support on +RaspberryPi3 will have to explicitely set in local.conf: ENABLE_UART = "1". + +Ref.: https://github.com/raspberrypi/firmware/issues/553 + https://github.com/RPi-Distro/repo/issues/22 + +4. Extra apps +============= + +4.A. omxplayer +============== +omxplayer depends on libav which has a commercial license. So in order to be +able to compile omxplayer you will need to whiteflag the commercial license +adding to you local.conf: +LICENSE_FLAGS_WHITELIST = "commercial" + +5. Board Configuration +====================== + +5.A. Audio Routing +================== +To load audio driver + + modprobe snd-bcm2835 + +To test audio playback + + e.g. aplay test.wav + +Note that without HDMI connected this emits audio from the 3.5in jack connector +as expected. However With an HDMI display connected there is no audio output from +the jack connector. + +To force the audio routing via the 3.5in jack connector use + + amixer cset numid=3 1 + +Options to amixer cset are: + + 0=auto + 1=headphones + 2=hdmi + +6. Source code and mirrors +========================== + +Main repo: + git://git.yoctoproject.org/meta-raspberrypi + http://git.yoctoproject.org/git/meta-raspberrypi + +Github mirror: + https://github.com/agherzan/meta-raspberrypi + +Bitbucket mirror: + https://bitbucket.org/agherzan/meta-raspberrypi + + +7. Contributing +=============== + +7.A. Mailing list +================= +The main communication tool we use is a mailing list: + yocto@yoctoproject.org + https://lists.yoctoproject.org/listinfo/yocto + +Feel free to ask any kind of questions but always prepend your email subject +with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and +not a perticular 'meta-raspberrypi' mailing list. + +To contribute to this layer you should send the patches for review to the +above specified mailing list. +The patches should be compliant with the openembedded patch guidelines: +http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines + + +When creating patches, please use something like: + + git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin + +When sending patches to mailing list, please use something like: + + git send-email --to yocto@yoctoproject.org <generated patch> + +7.B. Github issues +================== +In order to manage and trace the meta-raspberrypi issues, we use github issues: + https://github.com/agherzan/meta-raspberrypi/issues + +If you push patches which have a github issue associated, please provide the +issue number in the commit log just before "Signed-off-by" line(s). Example line +for a bug: + [Issue #13] + + +8. Maintainers +============== + + Andrei Gherzan <andrei at gherzan.ro> |