[yocto] [meta-raspberrypi][PATCH 0/5] Add support for 4.1 kernel with vc4 DRM/KMS driver

Javier Martinez Canillas javier at osg.samsung.com
Thu Jul 30 01:34:06 PDT 2015


Hello Andrei,

This series adds support for Eric Anholt's v4.1 kernel, that has support
for the vc4 DRM/KMS driver. Which is the new open source graphics driver
stack for the Raspberry Pi to be used instead of the userland driver.

We are using it in the Tizen port to RPI2 [0] and are trying to push all
the patches back to the tizen-distro and meta-raspberrypi OE layers so
I'm posting these patches to get your feedback.

The v4.1 kernel is under heavy development so is a work-in-progress and
should not be used in production. That's why a default preference of -1
is set and the kernel only is enabled if the "vc4-gfx" feature is added
to the DISTRO_FEATURES variable.

But even when it's still a development kernel, having the recipe in the
meta-raspberrypi will allow people to test it. The patches are for:

Patch 1/5 makes optional to add the kgdboc kernel command line parameter

Patch 2/5 allows to set the mask_gpu_interrupt0 option in config.txt

Patch 3/5 changes the partition layout to add more space for boot files

Patch 4/5 adds a recipe for the 4.1 and some patches to make it stable

Patch 5/5 switchs the default providers according to the gfx stack used

One problem I found is that the latest RPI kernels changed the path for
the DT overlays after commit 739c586c8757 ("BCM270X_DT: Move the overlays
into a subdirectory, adding the README") [1] so the kernel fails to build
with the default KERNEL_DEVICETREE. I tried to change get_dts() function
logic to take this into account but found that it would had been a more
intrusive change and KERNEL_DEVICETREE will have to be changed anyways
once the recipes for the other kernels are updated to the latest HEAD so
for now I just define the following on local.conf to make it build:

KERNEL_DEVICETREE = " \
    bcm2708-rpi-b.dtb \
    bcm2708-rpi-b-plus.dtb \
    bcm2709-rpi-2-b.dtb \
    \
    overlays/hifiberry-amp-overlay.dtb \
    overlays/hifiberry-dac-overlay.dtb \
    overlays/hifiberry-dacplus-overlay.dtb \
    overlays/hifiberry-digi-overlay.dtb \
    overlays/iqaudio-dac-overlay.dtb \
    overlays/iqaudio-dacplus-overlay.dtb \
    overlays/lirc-rpi-overlay.dtb \
    overlays/pps-gpio-overlay.dtb \
    overlays/w1-gpio-overlay.dtb \
    overlays/w1-gpio-pullup-overlay.dtb \
    "

[0]: http://blogs.s-osg.org/tizen-rpi2-now-supporting-3d-acceleration/
[1]: https://github.com/raspberrypi/linux/commit/739c586c8757

Best regards,
---
Javier Martinez Canillas
Open Source Group
Samsung Research America


Derek Foreman (4):
  rpi-config: Allow to mask GPU irqs
  sdcard_image-rpi.bbclass: Allocate more space for boot partition
  linux-raspberrypi: Add a 4.1 linux kernel with vc4 support
  rpi-default-providers: Switch providers according to used gfx stack

Mauro Carvalho Chehab (1):
  linux-raspberrypi.inc: Make kgdboc kernel param optional

 README                                             |  38 +++++--
 classes/sdcard_image-rpi.bbclass                   |   6 +-
 conf/machine/include/rpi-default-providers.inc     |   8 +-
 conf/machine/include/rpi-default-versions.inc      |   2 +-
 recipes-bsp/bootfiles/rpi-config_git.bb            |   6 ++
 recipes-kernel/linux/linux-raspberrypi.inc         |   5 +-
 ..._defconfig-Enable-config-options-for-vc4-.patch |  48 +++++++++
 ...-ARM-dts-Fix-i2c-for-bcm2709-RPI2-B-board.patch |  85 +++++++++++++++
 .../0003-drm-vc4-Use-the-fbdev_cma-helpers.patch   | 115 +++++++++++++++++++++
 .../0004-drm-vc4-Allow-vblank-to-be-disabled.patch |  26 +++++
 .../0005-drm-vc4-Disable-KMS-operations.patch      |  95 +++++++++++++++++
 recipes-kernel/linux/linux-raspberrypi_4.1.bb      |  16 +++
 12 files changed, 433 insertions(+), 17 deletions(-)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi/0002-ARM-dts-Fix-i2c-for-bcm2709-RPI2-B-board.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi/0003-drm-vc4-Use-the-fbdev_cma-helpers.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi/0004-drm-vc4-Allow-vblank-to-be-disabled.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi/0005-drm-vc4-Disable-KMS-operations.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi_4.1.bb

-- 
2.4.3




More information about the yocto mailing list