Squashed 'import-layers/meta-raspberrypi/'.

cce6292 linux-raspberrypi_4.9.bb: Upgrade to 4.9.10
c34a6b0 linux-raspberrypi_4.4: Update to 4.4.48
7398030 Revert "u-boot: drop patch to include lowlevel_init"
69c5675 README: Mention CM1 and CM3 support
56b0c59 rpi-base.inc: Include dtb file for CM1 and CM3
a735477 raspberrypi*.conf: Minor tweaks
9923618 raspberrypi-cm3.conf: Add dummy machine for CM3 (alias for RPi2)
d5aa048 raspberrypi-cm.conf: Add dummy machine for CM1 (alias for RPi1)
5b5c4d9 linux-raspberrypi_4.9: Update to 4.9.4
f81f022 linux-raspberrypi_4.4: Update to 4.4.43
263e6bd linux-raspberrypi: Drop v4.8
121e200 linux-raspberrypi: Drop v4.7
cb7068a linux-raspberrypi: Upgrade to v4.4.39
38bc324 linux-raspberrypi: Drop v4.1
e1f69da linux-raspberrypi_4.9.bb: Add recipe for 4.9 release
02c0d41 linux-raspberrypi_4.8.bb: Upgrade to 4.8.16
031e2695 u-boot: drop patch to include lowlevel_init
c405581 rpi-base.inc: remove input modules form XSERVER
d77f3d4 rpi-base.inc: add xserver-xorg-extension-glx to XSERVER for vc4 enabled
672e025 linux-raspberrypi-4.8: Upgrade to 4.8.15
1bf09a4 userland: Fix building on aarch64
22fb2b4 linux-raspberrypi-4.8: Upgrade to 4.8.13
90c45b4 userland: Update to latest
96b9c63 linux-raspberrypi-base.bbclass: remove version hack
17f0c23 linux-rpi.inc: Do not rely on DISTRO_TYPE to enable/disable kernel debug
064aa0a u-boot: Simplify boot script
0e66d69 linux-raspberrypi_4.8.bb: upgrade to 4.8.12
18cf04d firmware: Update to 20161125
1f64604 linux-raspberrypi_4.4.bb: upgrade to 4.4.35
44d41bf raspberrypi3.conf: fix typo for BCM43430
6bd1bfe linux-raspberrypi: remove not needed bundle_initramfs_append()
b030814 u-boot: Fix appending to RDEPENDS
9c12ac8 linux-raspberrypi_4.8.bb: Upgrade to 4.8.6
380740d linux-firmware_git.bbappend: Delete
a5f95f4 userland: Bump to latest and add ASNEEDED = ""
716b6a9 firmware: Use release tarballs
6c755af weston: Unify bbappends for weston into single file
b9e6f04 userland: Update to latest master tip
00300d9 firmware: Update to 20161030
3e6e890 linux-raspberrypi-4.4: Update to 4.4.28
12aa27d gstreamer1.0-plugins-bad_%.bbappend: Set PACKAGECONFIG_GL for RPi
ab39653 rpi-base.inc: Include pi3-disable-bt-overlay.dtb
17a6933 linux-raspberrypi: Update to 4.8.4
ddc9390 linux-firmware: Fix "No generic license file exists" warning
d51a8a7 linux-raspberrypi_4.8.bb: Update to 4.8.2
e991148 firmware: Update to latest
ed54bd3 linux-firmware: Correct the LICENSE for brcm43430-license
3360f98 sdcard_image-rpi.bbclass: Include boot script when using u-boot
1d629b1 u-boot: Add RDEPENDS on rpi-u-boot-scr
56047ad rpi-u-boot-scr: Add recipe to create u-boot boot script
1f24992 rpi-base.inc: Don't install kernel image into rootfs
c62e088 eglinfo-x11: align to VC4
1ebb370 vc4: why no framebuffer device?
8d17669 xorg align for vc4
3b9aebd mesa: align for vc4
de016ce bluez5: correctly append brcm43438 service
b6c954d Fix DISPMANX_OFFLINE variable typo
d778d0a README: Replace references to Redmine with Github Issues
1e3983f linux-raspberrypi_4.7.bb: Update to 4.7.7
ecd8875 linux-raspberrypi: Add recipe for 4.8 release
05be947 firmware: Upgrade to latest
585838e userland: Upgrade to latest
41689e8 sdcard_image-rpi.bbclass: Remove redundant RPI_KERNEL_VERSION
5697e77 linux-raspberrypi_4.4: Upgrade to 4.4.23
4817e2c sdcard_image-rpi.bbclass: avoid corrupted images with latest oe-core
ac6f357 weston: Fix typo with override
760ddd0 Switch to using 4.4 as default kernel
ed84c2c vc4graphics: Support X11 with the VC4 driver.
55388a5 firmware, userland: Bump to latest
b24afdc linux-raspberrypi_3.18: Remove
e993bdc linux-raspberrypi: Add recipe for 4.7 release
c2f7643 linux-raspberrypi_4.4: upgrade to 4.4.16
d511c7c linux-raspberrypi-4.4: add patch to enable proper operation of renderD128 device
ef22ff4 linux-rpi.inc: add the configuration options required to support vc4graphics
6b4de2b mesa_%.bbappend: new file to add the correct configuration options to support vc4graphics
bee7643 weston/weston_%.bbappend: modify configuration options to support vc4graphics
72b9635 wayland/weston_%.bbappend: modify configuration options to support vc4graphics
ba9c466 rpi-config_git.bb: add v4c overlay to config.txt to support vc4graphics
5d2722c raspberrypi3.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
824b78c raspberrypi2.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
dfce95f raspberrypi0.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
224b9e9 raspberrypi.conf: set the default value of VC4_CMA_SIZE to support vc4graphics
0035bc8 rpi-base.inc: add vc4-kms-v3d to the overlays to support vc4graphics
6e535dd rpi-default-providers.inc: change default providers to support vc4graphics
1a32817 sdcard_image-rpi.bbclass: support for .dtbo files for dtb overlays
d98f2a7 linux-raspberrypi-base.bbclass: support for .dtbo files for dtb overlays
09b76a4 rpi-base.inc: support for .dtbo files for dtb overlays
18a2fb6 linux-raspberrypi_4.4.bb: support for .dtbo files for dtb overlays
a5f9b07 bcm2835: Compile examples correct LDFLAGS to avoid HASH errors
8c5eba1 bcm2835: Update to 1.50
5229f75 wiringPi: Fix compilation of libraries
5771c7f wiringpi: Fix prepend space
1b2c25e wiringpi: Update to 2.32
4c02c7c sdcard_image-rpi.bbclass: remove redundant IMAGEDATESTAMP
cc64d63 userland: Add bash to RDEPENDS

Change-Id: Ic9e50299fcba012068cea0c0a971c48c6da4138f
git-subtree-dir: import-layers/meta-raspberrypi
git-subtree-split: cce6292e41493158c26f5b1b7fded97faacf10d7
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18/0001-dts-add-overlay-for-pitft22.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18/0001-dts-add-overlay-for-pitft22.patch
deleted file mode 100644
index fa73599..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18/0001-dts-add-overlay-for-pitft22.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 2f44861e2a2d651a9aa62a75343a032fee33e93b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
-Date: Fri, 8 Jan 2016 09:02:44 +0100
-Subject: [PATCH] dts: add overlay for pitft22 in linux 3.18
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Add the pitft22 overlay from adafruit Adafruit-Pi-Kernel-o-Matic repo:
-https://github.com/adafruit/Adafruit-Pi-Kernel-o-Matic
-
-Signed-off-by: Petter Mabäcker <petter@technux.se>
----
- arch/arm/boot/dts/overlays/Makefile            |  1 +
- arch/arm/boot/dts/overlays/pitft22-overlay.dts | 69 ++++++++++++++++++++++++++
- 2 files changed, 70 insertions(+)
- create mode 100755 arch/arm/boot/dts/overlays/pitft22-overlay.dts
-
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index c766616..1eaaf81 100644
---- a/arch/arm/boot/dts/overlays/Makefile
-+++ b/arch/arm/boot/dts/overlays/Makefile
-@@ -27,6 +27,7 @@ dtb-$(RPI_DT_OVERLAYS) += mcp2515-can0-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += mmc-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += mz61581-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += piscreen-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += pitft22-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += pitft28-resistive-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += rpi-dac-overlay.dtb
-diff --git a/arch/arm/boot/dts/overlays/pitft22-overlay.dts b/arch/arm/boot/dts/overlays/pitft22-overlay.dts
-new file mode 100755
-index 0000000..894ba22
---- /dev/null
-+++ b/arch/arm/boot/dts/overlays/pitft22-overlay.dts
-@@ -0,0 +1,69 @@
-+/*
-+ * Device Tree overlay for pitft by Adafruit
-+ *
-+ */
-+
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+        compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
-+
-+        fragment@0 {
-+                target = <&spi0>;
-+                __overlay__ {
-+                        status = "okay";
-+
-+                        spidev@0{
-+                                status = "disabled";
-+                        };
-+
-+                        spidev@1{
-+                                status = "disabled";
-+                        };
-+                };
-+        };
-+
-+        fragment@1 {
-+                target = <&gpio>;
-+                __overlay__ {
-+                        pitft_pins: pitft_pins {
-+                                brcm,pins = <25>;
-+                                brcm,function = <1>; /* out */
-+                                brcm,pull = <0>; /* none */
-+                        };
-+                };
-+        };
-+
-+        fragment@2 {
-+                target = <&spi0>;
-+                __overlay__ {
-+                        /* needed to avoid dtc warning */
-+                        #address-cells = <1>;
-+                        #size-cells = <0>;
-+
-+                        pitft: pitft@0{
-+                                compatible = "ilitek,ili9340";
-+                                reg = <0>;
-+                                pinctrl-names = "default";
-+                                pinctrl-0 = <&pitft_pins>;
-+
-+                                spi-max-frequency = <32000000>;
-+                                rotate = <90>;
-+                                fps = <25>;
-+                                bgr;
-+                                buswidth = <8>;
-+                                dc-gpios = <&gpio 25 0>;
-+                                debug = <0>;
-+                        };
-+
-+                };
-+        };
-+
-+        __overrides__ {
-+                speed =   <&pitft>,"spi-max-frequency:0";
-+                rotate =  <&pitft>,"rotate:0";
-+                fps =     <&pitft>,"fps:0";
-+                debug =   <&pitft>,"debug:0";
-+        };
-+};
--- 
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0001-dts-add-overlay-for-pitft22.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0001-dts-add-overlay-for-pitft22.patch
deleted file mode 100644
index e6e0a84..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0001-dts-add-overlay-for-pitft22.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From a28bd410022b32a64e208f04b45add6326990332 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
-Date: Fri, 8 Jan 2016 09:02:44 +0100
-Subject: [PATCH] dts: add overlay for pitft22
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Pending
-
-Add the pitft22 overlay from adafruit Adafruit-Pi-Kernel-o-Matic repo:
-https://github.com/adafruit/Adafruit-Pi-Kernel-o-Matic
-
-Signed-off-by: Petter Mabäcker <petter@technux.se>
----
- arch/arm/boot/dts/overlays/Makefile            |  1 +
- arch/arm/boot/dts/overlays/pitft22-overlay.dts | 69 ++++++++++++++++++++++++++
- 2 files changed, 70 insertions(+)
- create mode 100755 arch/arm/boot/dts/overlays/pitft22-overlay.dts
-
-diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
-index 1a60e9c..a2535a2 100644
---- a/arch/arm/boot/dts/overlays/Makefile
-+++ b/arch/arm/boot/dts/overlays/Makefile
-@@ -37,6 +37,7 @@ dtb-$(RPI_DT_OVERLAYS) += mmc-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += mz61581-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += piscreen-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += piscreen2r-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += pitft22-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += pitft28-capacitive-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += pitft28-resistive-overlay.dtb
- dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
-diff --git a/arch/arm/boot/dts/overlays/pitft22-overlay.dts b/arch/arm/boot/dts/overlays/pitft22-overlay.dts
-new file mode 100755
-index 0000000..894ba22
---- /dev/null
-+++ b/arch/arm/boot/dts/overlays/pitft22-overlay.dts
-@@ -0,0 +1,69 @@
-+/*
-+ * Device Tree overlay for pitft by Adafruit
-+ *
-+ */
-+
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+        compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709";
-+
-+        fragment@0 {
-+                target = <&spi0>;
-+                __overlay__ {
-+                        status = "okay";
-+
-+                        spidev@0{
-+                                status = "disabled";
-+                        };
-+
-+                        spidev@1{
-+                                status = "disabled";
-+                        };
-+                };
-+        };
-+
-+        fragment@1 {
-+                target = <&gpio>;
-+                __overlay__ {
-+                        pitft_pins: pitft_pins {
-+                                brcm,pins = <25>;
-+                                brcm,function = <1>; /* out */
-+                                brcm,pull = <0>; /* none */
-+                        };
-+                };
-+        };
-+
-+        fragment@2 {
-+                target = <&spi0>;
-+                __overlay__ {
-+                        /* needed to avoid dtc warning */
-+                        #address-cells = <1>;
-+                        #size-cells = <0>;
-+
-+                        pitft: pitft@0{
-+                                compatible = "ilitek,ili9340";
-+                                reg = <0>;
-+                                pinctrl-names = "default";
-+                                pinctrl-0 = <&pitft_pins>;
-+
-+                                spi-max-frequency = <32000000>;
-+                                rotate = <90>;
-+                                fps = <25>;
-+                                bgr;
-+                                buswidth = <8>;
-+                                dc-gpios = <&gpio 25 0>;
-+                                debug = <0>;
-+                        };
-+
-+                };
-+        };
-+
-+        __overrides__ {
-+                speed =   <&pitft>,"spi-max-frequency:0";
-+                rotate =  <&pitft>,"rotate:0";
-+                fps =     <&pitft>,"fps:0";
-+                debug =   <&pitft>,"debug:0";
-+        };
-+};
--- 
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0002-vmcs-Remove-unused-sm_cache_map_vector-definition.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0002-vmcs-Remove-unused-sm_cache_map_vector-definition.patch
deleted file mode 100644
index 8d4a900..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0002-vmcs-Remove-unused-sm_cache_map_vector-definition.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-The code using it also ifdef'ed with 0, anyyd gcc 6
-complains
-
-error: 'sm_cache_map_vector' defined but not used
-
-The code using it also ifdef'ed out
-
-Upstream-status: Denied [https://github.com/raspberrypi/linux/pull/1528]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- drivers/char/broadcom/vc_sm/vmcs_sm.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c
-+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c
-@@ -197,12 +197,14 @@ struct SM_STATE_T {
- static struct SM_STATE_T *sm_state;
- static int sm_inited;
- 
-+#if 0
- static const char *const sm_cache_map_vector[] = {
- 	"(null)",
- 	"host",
- 	"videocore",
- 	"host+videocore",
- };
-+#endif
- 
- /* ---- Private Function Prototypes -------------------------------------- */
- 
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0003-fix-gcc6.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0003-fix-gcc6.patch
deleted file mode 100644
index 61ec2fb..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/0003-fix-gcc6.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-Fix compile with GCC6
-
-Upstream-status: Denied [https://github.com/raspberrypi/linux/pull/1528]
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: source/include/linux/compiler-gcc6.h
-===================================================================
---- /dev/null
-+++ source/include/linux/compiler-gcc6.h
-@@ -0,0 +1,67 @@
-+#ifndef __LINUX_COMPILER_H
-+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
-+#endif
-+
-+#define __used				__attribute__((__used__))
-+#define __must_check			__attribute__((warn_unused_result))
-+#define __compiler_offsetof(a, b)	__builtin_offsetof(a, b)
-+
-+/* Mark functions as cold. gcc will assume any path leading to a call
-+   to them will be unlikely.  This means a lot of manual unlikely()s
-+   are unnecessary now for any paths leading to the usual suspects
-+   like BUG(), printk(), panic() etc. [but let's keep them for now for
-+   older compilers]
-+
-+   Early snapshots of gcc 4.3 don't support this and we can't detect this
-+   in the preprocessor, but we can live with this because they're unreleased.
-+   Maketime probing would be overkill here.
-+
-+   gcc also has a __attribute__((__hot__)) to move hot functions into
-+   a special section, but I don't see any sense in this right now in
-+   the kernel context */
-+#define __cold			__attribute__((__cold__))
-+
-+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-+
-+#ifndef __CHECKER__
-+# define __compiletime_warning(message) __attribute__((warning(message)))
-+# define __compiletime_error(message) __attribute__((error(message)))
-+#endif /* __CHECKER__ */
-+
-+/*
-+ * Mark a position in code as unreachable.  This can be used to
-+ * suppress control flow warnings after asm blocks that transfer
-+ * control elsewhere.
-+ *
-+ * Early snapshots of gcc 4.5 don't support this and we can't detect
-+ * this in the preprocessor, but we can live with this because they're
-+ * unreleased.  Really, we need to have autoconf for the kernel.
-+ */
-+#define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone	__attribute__((__noclone__))
-+
-+/*
-+ * Tell the optimizer that something else uses this function or variable.
-+ */
-+#define __visible __attribute__((externally_visible))
-+
-+/*
-+ * GCC 'asm goto' miscompiles certain code sequences:
-+ *
-+ *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
-+ *
-+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
-+ *
-+ * (asm goto is automatically volatile - the naming reflects this.)
-+ */
-+#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-+
-+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-+#define __HAVE_BUILTIN_BSWAP32__
-+#define __HAVE_BUILTIN_BSWAP64__
-+#define __HAVE_BUILTIN_BSWAP16__
-+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-+
-+#define KASAN_ABI_VERSION 4
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.4/0001-fix-dtbo-rules.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.4/0001-fix-dtbo-rules.patch
new file mode 100644
index 0000000..5113e23
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.4/0001-fix-dtbo-rules.patch
@@ -0,0 +1,44 @@
+From 13c8784da3dbd977f64cec740eba775b6fab11c2 Mon Sep 17 00:00:00 2001
+From: Herve Jourdain <herve.jourdain@neuf.fr>
+Date: Fri, 20 May 2016 16:02:23 +0800
+Subject: [yocto][meta-raspberrypi][PATCH v4 4/5] linux-raspberrypi_4.4.inc:
+ support for .dtbo files for dtb overlays
+
+Upstream-Status: Pending
+
+Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
+Patch the kernel, which has faulty rules to generate .dtbo the way yocto does
+
+Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
+---
+ .../0001-fix-dtbo-rules.patch                      | 27 ++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+ create mode 100644 recipes-kernel/linux/linux-raspberrypi-4.4/0001-fix-dtbo-rules.patch
+
+diff --git a/arch/arm/Makefile b/arch/arm/Makefile
+index a2e7cf7..673c1cb 100644
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
+@@ -333,6 +333,8 @@ $(INSTALL_TARGETS):
+ 
+ %.dtb: | scripts
+ 	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
++%.dtbo: | scripts
++	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
+ 
+ PHONY += dtbs dtbs_install
+ 
+diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
+index 3079c4f..6cc3766 100644
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -293,7 +293,8 @@ $(obj)/%.dtb: $(src)/%.dts FORCE
+ 	$(call if_changed_dep,dtc)
+ 
+ quiet_cmd_dtco = DTCO    $@
+-cmd_dtco = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
++cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
++	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
+ 	$(objtree)/scripts/dtc/dtc -@ -H epapr -O dtb -o $@ -b 0 \
+ 		-i $(dir $<) $(DTC_FLAGS) \
+ 		-d $(depfile).dtc.tmp $(dtc-tmp) ; \
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.9/0001-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.9/0001-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch
new file mode 100644
index 0000000..e8bc52e
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.9/0001-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch
@@ -0,0 +1,29 @@
+From 922ce1fd0eb810b713f6ffa9a7ab97c11b6e38cf Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 10 Feb 2017 17:57:08 -0800
+Subject: [PATCH] build/arm64: Add rules for .dtbo files for dts overlays
+
+We now create overlays as .dtbo files.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ arch/arm64/Makefile | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
+index 3635b8662724..822fefeb1cd0 100644
+--- a/arch/arm64/Makefile
++++ b/arch/arm64/Makefile
+@@ -113,6 +113,9 @@ zinstall install:
+ %.dtb: scripts
+ 	$(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
+ 
++%.dtbo: | scripts
++	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
++
+ PHONY += dtbs dtbs_install
+ 
+ dtbs: prepare scripts
+-- 
+2.11.1
+
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
index 6184402..98229d9 100644
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
@@ -54,16 +54,3 @@
     fi
     echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
 }
-
-do_bundle_initramfs_append() {
-    if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
-        if test "x${KERNEL_IMAGETYPE}" != "xuImage" ; then
-            if test -n "${KERNEL_DEVICETREE}"; then
-                # Add RPi bootloader trailer to kernel image to enable DeviceTree support
-                for type in ${KERNEL_IMAGETYPES} ; do
-                    ${STAGING_BINDIR_NATIVE}/mkknlimg --dtok ${KERNEL_OUTPUT_DIR}/$type.initramfs ${KERNEL_OUTPUT_DIR}/$type.initramfs
-                done
-            fi
-        fi
-    fi
-}
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb
deleted file mode 100644
index 1110b71..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-LINUX_VERSION ?= "3.18.16"
-
-SRCREV = "1bb18c8f721ef674a447f3622273f2e2de7a205c"
-SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y \
-           file://0001-dts-add-overlay-for-pitft22.patch \
-          "
-require linux-raspberrypi.inc
-
-# Create missing out of tree 'overlays' directory prior to install step
-do_compile_prepend() {
-  mkdir -p ${B}/arch/arm/boot/dts/overlays
-}
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb
deleted file mode 100644
index 87c77b8..0000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-LINUX_VERSION ?= "4.1.21"
-
-SRCREV = "ff45bc0e8917c77461b2901e2743e6339bb70413"
-SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.1.y \
-           file://0001-dts-add-overlay-for-pitft22.patch \
-           file://0002-vmcs-Remove-unused-sm_cache_map_vector-definition.patch \
-           file://0003-fix-gcc6.patch \
-          "
-
-require linux-raspberrypi.inc
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb
index 3291ffd..b235772 100644
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb
@@ -1,8 +1,9 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
 
-LINUX_VERSION ?= "4.4.13"
+LINUX_VERSION ?= "4.4.48"
 
-SRCREV = "680be5e27a9593cf26079c6e5744a04cc2809d13"
+SRCREV = "7ddf96fbb7d637b79b449c7bd1c8d35f00571e4b"
 SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.4.y \
+           file://0001-fix-dtbo-rules.patch \
 "
 require linux-raspberrypi.inc
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
new file mode 100644
index 0000000..dcca369
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
+
+LINUX_VERSION ?= "4.9.10"
+
+SRCREV = "095c4480e1f623bdc8a221a171ef13b2223706b1"
+SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.9.y \
+           file://0001-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch \
+"
+require linux-raspberrypi.inc
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-rpi.inc b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-rpi.inc
index 4b65fc2..53383b0 100644
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-rpi.inc
+++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-rpi.inc
@@ -13,9 +13,9 @@
 # Quirk for udev greater or equal 141
 UDEV_GE_141 ?= "1"
 
-# Set the verbosity of kernel messages during runtime
-# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour
-CMDLINE_DEBUG ?= '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug", d)}'
+# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf
+# to enable kernel debugging.
+CMDLINE_DEBUG ?= ""
 CMDLINE_append = " ${CMDLINE_DEBUG}"
 
 KERNEL_INITRAMFS ?= '${@base_conditional("INITRAMFS_IMAGE_BUNDLE", "1", "1", "", d)}'
@@ -111,6 +111,16 @@
     # Activate CONFIG_LEGACY_PTYS
     kernel_configure_variable LEGACY_PTYS y
 
+    # Activate the configuration options for VC4
+    VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
+    if [ ${VC4GRAPHICS} = "1" ]; then
+        kernel_configure_variable I2C_BCM2835 y
+        kernel_configure_variable DRM y
+        kernel_configure_variable DRM_FBDEV_EMULATION y
+        kernel_configure_variable DRM_VC4 y
+        kernel_configure_variable FB_BCM2708 n
+    fi
+
     # Keep this the last line
     # Remove all modified configs and add the rest to .config
     sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'