[yocto] [meta-raspberrypi][PATCH v3 1/2] linux-raspberrypi: Add a 4.2.3 linux kernel with vc4 support

Javier Martinez Canillas javier at osg.samsung.com
Tue Nov 10 06:45:19 PST 2015


From: Derek Foreman <derekf at osg.samsung.com>

This adds Eric Anholt's WIP kernel with dri/kms/3d support for the GPU on
the rpi2. Adding a recipe that tracks this kernel, will make it easier to
test this setup.

This recipe should only used for testing purposes for now, so it will not
be set as the default but can be chosen by changing the default providers.

Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
[javier: Extended commit message and set default preference to -1]
Signed-off-by: Javier Martinez Canillas <javier at osg.samsung.com>

---

Changes in v3:
- Update to latest vc4-kms-v3d-rpi2 branch sha1. Suggested by Andreas Müller.
- Drop patches that were already merged in the vc4-kms-v3d-rpi2 branch.
- Bump Linux version from 4.1 to 4.2.

Changes in v2:
- Add a linux-raspberrypi-vc4 recipe insted of a linux-raspberrypi one.
  Suggested by Petter Mabäcker, Andreas Müller and Andrei Gherzan.
- Split the readme change in a separate patch. Suggested by Andrei Gherzan.
- Don't make the vc4 patches inclusion conditional since will always be
  needed when choosing the recipe. Suggested by Andrei Gherzan.

 ..._defconfig-Enable-config-options-for-vc4-.patch | 40 ++++++++++++++++++++++
 .../0002-bcm2708-Fix-DTC-build-error.patch         | 38 ++++++++++++++++++++
 .../linux/linux-raspberrypi-vc4/defconfig          |  1 +
 recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb  |  9 +++++
 4 files changed, 88 insertions(+)
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/0002-bcm2708-Fix-DTC-build-error.patch
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4/defconfig
 create mode 100644 recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb

diff --git a/recipes-kernel/linux/linux-raspberrypi-vc4/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch b/recipes-kernel/linux/linux-raspberrypi-vc4/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
new file mode 100644
index 000000000000..d7b722dd35df
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi-vc4/0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch
@@ -0,0 +1,40 @@
+From 10e0beec47def7813e2e256697018f3d0a4559fe Mon Sep 17 00:00:00 2001
+From: Derek Foreman <derekf at osg.samsung.com>
+Date: Fri, 6 Nov 2015 13:15:35 -0300
+Subject: [PATCH 1/1] ARM: bcm2709_defconfig: Enable config options for vc4
+ support
+
+Add the needed Kconfig symbols to build Eric Anholt's WIP kernel
+4.1 Linux kernel with vc4 dri/kms/3d support. Also increase CMA
+size from 5 MiB to 256 MiB as that is needed by the driver.
+
+Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
+---
+ arch/arm/configs/bcm2709_defconfig | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index c2ddd10dc106..4312906bfe0f 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -394,7 +394,7 @@ CONFIG_NFC_PN533=m
+ CONFIG_DEVTMPFS=y
+ CONFIG_DEVTMPFS_MOUNT=y
+ CONFIG_DMA_CMA=y
+-CONFIG_CMA_SIZE_MBYTES=5
++CONFIG_CMA_SIZE_MBYTES=256
+ CONFIG_MTD=m
+ CONFIG_MTD_BLOCK=m
+ CONFIG_MTD_NAND=m
+@@ -807,6 +807,8 @@ CONFIG_FB=y
+ CONFIG_FB_BCM2708=y
+ CONFIG_FB_SSD1307=m
+ CONFIG_FB_RPISENSE=m
++CONFIG_DRM=y
++CONFIG_DRM_VC4=y
+ # CONFIG_BACKLIGHT_GENERIC is not set
+ CONFIG_BACKLIGHT_GPIO=m
+ CONFIG_FRAMEBUFFER_CONSOLE=y
+-- 
+2.4.3
+
diff --git a/recipes-kernel/linux/linux-raspberrypi-vc4/0002-bcm2708-Fix-DTC-build-error.patch b/recipes-kernel/linux/linux-raspberrypi-vc4/0002-bcm2708-Fix-DTC-build-error.patch
new file mode 100644
index 000000000000..59aa0e54d353
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi-vc4/0002-bcm2708-Fix-DTC-build-error.patch
@@ -0,0 +1,38 @@
+From 2d0adbb07ccccef248173af3ac090ca867cf3460 Mon Sep 17 00:00:00 2001
+From: Javier Martinez Canillas <javier at osg.samsung.com>
+Date: Mon, 9 Nov 2015 16:17:28 -0300
+Subject: [PATCH 1/1] bcm2708: Fix DTC build error
+
+Commit fa6a6d220c4c ("bcm2708: Use #include in dtsi files") changed the bcm*
+DTSI files to use the pre-processor #include directive instead the /include/
+but forgot to change the arch/arm/boot/dts/bcm2708.dtsi file. Later commit
+7f04e14bebf1 ("fixup! bcm2708: Use #include in dtsi files") tried to do that
+change but introduced a build error:
+
+DTC     arch/arm/boot/dts/bcm2708-rpi-b.dtb
+In file included from arch/arm/boot/dts/bcm2708-rpi-b.dts:3:0:
+arch/arm/boot/dts/bcm2708.dtsi:1:9: error: #include expects "FILENAME" or <FILENAME>
+            ^
+scripts/Makefile.lib:293: recipe for target 'arch/arm/boot/dts/bcm2708-rpi-b.dtb' failed
+make[1]: *** [arch/arm/boot/dts/bcm2708-rpi-b.dtb] Error 1
+arch/arm/Makefile:327: recipe for target 'bcm2708-rpi-b.dtb' failed
+make: *** [bcm2708-rpi-b.dtb] Error 2
+
+Signed-off-by: Javier Martinez Canillas <javier at osg.samsung.com>
+---
+ arch/arm/boot/dts/bcm2708.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
+index a70fa3107ac2..b954255bb860 100644
+--- a/arch/arm/boot/dts/bcm2708.dtsi
++++ b/arch/arm/boot/dts/bcm2708.dtsi
+@@ -1,4 +1,4 @@
+-#include/ "bcm2708_common.dtsi"
++#include "bcm2708_common.dtsi"
+ 
+ / {
+ 	compatible = "brcm,bcm2708";
+-- 
+2.4.3
+
diff --git a/recipes-kernel/linux/linux-raspberrypi-vc4/defconfig b/recipes-kernel/linux/linux-raspberrypi-vc4/defconfig
new file mode 100644
index 000000000000..ecbf32cfdc4c
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi-vc4/defconfig
@@ -0,0 +1 @@
+# Dummy file to get through do_kernel_configme.
diff --git a/recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb b/recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb
new file mode 100644
index 000000000000..cdd351c3ee66
--- /dev/null
+++ b/recipes-kernel/linux/linux-raspberrypi-vc4_4.2.bb
@@ -0,0 +1,9 @@
+LINUX_VERSION ?= "4.2.3"
+
+SRCREV = "b8b2f50546513355fecd9ac44b2355f19a9620a8"
+SRC_URI = "git://github.com/anholt/linux.git;protocol=git;branch=vc4-kms-v3d-rpi2 \
+           file://0001-ARM-bcm2709_defconfig-Enable-config-options-for-vc4-.patch \
+           file://0002-bcm2708-Fix-DTC-build-error.patch \
+          "
+
+require linux-raspberrypi.inc
-- 
2.4.3




More information about the yocto mailing list