From f20cc753998dfb4e273a7f12c7e05fd5bab7eaef Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Sun, 2 Aug 2015 21:18:16 +0200
Subject: remove non-lts kernel

---
 .../bcm28xx/patches/4.0.6/0001-raspberry-pi.patch  | 128961 ------------------
 1 file changed, 128961 deletions(-)
 delete mode 100644 target/arm/bcm28xx/patches/4.0.6/0001-raspberry-pi.patch

(limited to 'target/arm/bcm28xx')

diff --git a/target/arm/bcm28xx/patches/4.0.6/0001-raspberry-pi.patch b/target/arm/bcm28xx/patches/4.0.6/0001-raspberry-pi.patch
deleted file mode 100644
index 311f0e585..000000000
--- a/target/arm/bcm28xx/patches/4.0.6/0001-raspberry-pi.patch
+++ /dev/null
@@ -1,128961 +0,0 @@
-diff -Nur linux-4.0.5/Documentation/video4linux/bcm2835-v4l2.txt linux-4.0-rpi/Documentation/video4linux/bcm2835-v4l2.txt
---- linux-4.0.5/Documentation/video4linux/bcm2835-v4l2.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/Documentation/video4linux/bcm2835-v4l2.txt	2015-06-23 13:23:30.742045784 +0200
-@@ -0,0 +1,60 @@
-+
-+BCM2835 (aka Raspberry Pi) V4L2 driver
-+======================================
-+
-+1. Copyright
-+============
-+
-+Copyright © 2013 Raspberry Pi (Trading) Ltd.
-+
-+2. License
-+==========
-+
-+This program is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2 of the License, or
-+(at your option) any later version.
-+
-+This program is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with this program; if not, write to the Free Software
-+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-+
-+3. Quick Start
-+==============
-+
-+You need a version 1.0 or later of v4l2-ctl, available from:
-+	git://git.linuxtv.org/v4l-utils.git
-+
-+$ sudo modprobe bcm2835-v4l2
-+
-+Turn on the overlay:
-+
-+$ v4l2-ctl --overlay=1
-+
-+Turn off the overlay:
-+
-+$ v4l2-ctl --overlay=0
-+
-+Set the capture format for video:
-+
-+$ v4l2-ctl  --set-fmt-video=width=1920,height=1088,pixelformat=4
-+
-+(Note: 1088 not 1080).
-+
-+Capture:
-+
-+$ v4l2-ctl --stream-mmap=3 --stream-count=100 --stream-to=somefile.h264
-+
-+Stills capture:
-+
-+$ v4l2-ctl  --set-fmt-video=width=2592,height=1944,pixelformat=3
-+$ v4l2-ctl --stream-mmap=3 --stream-count=1 --stream-to=somefile.jpg
-+
-+List of available formats:
-+
-+$ v4l2-ctl --list-formats
-diff -Nur linux-4.0.5/arch/arm/Kconfig linux-4.0-rpi/arch/arm/Kconfig
---- linux-4.0.5/arch/arm/Kconfig	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/Kconfig	2015-06-23 13:23:30.778045828 +0200
-@@ -369,6 +369,23 @@
- 	  This enables support for systems based on Atmel
- 	  AT91RM9200, AT91SAM9 and SAMA5 processors.
- 
-+config ARCH_BCM2708
-+	bool "Broadcom BCM2708 family"
-+	select CPU_V6
-+	select ARM_AMBA
-+	select HAVE_SCHED_CLOCK
-+	select NEED_MACH_GPIO_H
-+	select NEED_MACH_MEMORY_H
-+	select COMMON_CLK
-+	select ARCH_HAS_CPUFREQ
-+	select GENERIC_CLOCKEVENTS
-+	select ARM_ERRATA_411920
-+	select MACH_BCM2708
-+	select VC4
-+	select FIQ
-+	help
-+	  This enables support for Broadcom BCM2708 boards.
-+
- config ARCH_CLPS711X
- 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
- 	select ARCH_REQUIRE_GPIOLIB
-@@ -777,6 +794,26 @@
- 	help
- 	  Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
- 
-+config ARCH_BCM2709
-+	bool "Broadcom BCM2709 family"
-+	select ARCH_HAS_BARRIERS if SMP
-+	select CPU_V7
-+	select HAVE_SMP
-+	select ARM_AMBA
-+	select MIGHT_HAVE_CACHE_L2X0
-+	select HAVE_SCHED_CLOCK
-+	select NEED_MACH_MEMORY_H
-+	select NEED_MACH_IO_H
-+	select COMMON_CLK
-+	select ARCH_HAS_CPUFREQ
-+	select GENERIC_CLOCKEVENTS
-+	select MACH_BCM2709
-+	select VC4
-+	select FIQ
-+#	select ZONE_DMA
-+	help
-+	  This enables support for Broadcom BCM2709 boards.
-+
- endchoice
- 
- menu "Multiple platform selection"
-@@ -967,6 +1004,8 @@
- source "arch/arm/mach-vt8500/Kconfig"
- 
- source "arch/arm/mach-w90x900/Kconfig"
-+source "arch/arm/mach-bcm2708/Kconfig"
-+source "arch/arm/mach-bcm2709/Kconfig"
- 
- source "arch/arm/mach-zynq/Kconfig"
- 
-diff -Nur linux-4.0.5/arch/arm/Kconfig.debug linux-4.0-rpi/arch/arm/Kconfig.debug
---- linux-4.0.5/arch/arm/Kconfig.debug	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/Kconfig.debug	2015-06-23 13:23:30.778045828 +0200
-@@ -1209,6 +1209,14 @@
- 		  options; the platform specific options are deprecated
- 		  and will be soon removed.
- 
-+	config DEBUG_BCM2708_UART0
-+		bool "Broadcom BCM2708 UART0 (PL011)"
-+		depends on MACH_BCM2708
-+		help
-+		  Say Y here if you want the debug print routines to direct
-+		  their output to UART 0. The port must have been initialised
-+		  by the boot-loader before use.
-+
- endchoice
- 
- config DEBUG_AT91_UART
-diff -Nur linux-4.0.5/arch/arm/Makefile linux-4.0-rpi/arch/arm/Makefile
---- linux-4.0.5/arch/arm/Makefile	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/Makefile	2015-06-23 13:23:30.778045828 +0200
-@@ -146,6 +146,8 @@
- machine-$(CONFIG_ARCH_AT91)		+= at91
- machine-$(CONFIG_ARCH_AXXIA)		+= axxia
- machine-$(CONFIG_ARCH_BCM)		+= bcm
-+machine-$(CONFIG_ARCH_BCM2708)		+= bcm2708
-+machine-$(CONFIG_ARCH_BCM2709)		+= bcm2709
- machine-$(CONFIG_ARCH_BERLIN)		+= berlin
- machine-$(CONFIG_ARCH_CLPS711X)		+= clps711x
- machine-$(CONFIG_ARCH_CNS3XXX)		+= cns3xxx
-diff -Nur linux-4.0.5/arch/arm/boot/dts/Makefile linux-4.0-rpi/arch/arm/boot/dts/Makefile
---- linux-4.0.5/arch/arm/boot/dts/Makefile	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/boot/dts/Makefile	2015-06-23 13:23:30.778045828 +0200
-@@ -1,5 +1,21 @@
- ifeq ($(CONFIG_OF),y)
- 
-+dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
-+dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
-+dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-cm.dtb
-+dtb-$(CONFIG_BCM2709_DT) += bcm2709-rpi-2-b.dtb
-+
-+# Raspberry Pi
-+ifeq ($(CONFIG_BCM2708_DT),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+ifeq ($(CONFIG_BCM2709_DT),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+ifeq ($(CONFIG_ARCH_BCM2835),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+
- dtb-$(CONFIG_MACH_ASM9260) += \
- 	alphascale-asm9260-devkit.dtb
- # Keep at91 dtb files sorted alphabetically for each SoC
-@@ -645,7 +661,18 @@
- 	mt6592-evb.dtb \
- 	mt8127-moose.dtb \
- 	mt8135-evbp1.dtb
-+
-+targets += dtbs dtbs_install
-+targets += $(dtb-y)
-+
- endif
- 
- always		:= $(dtb-y)
- clean-files	:= *.dtb
-+
-+# Enable fixups to support overlays on BCM2708 platforms
-+ifeq ($(RPI_DT_OVERLAYS),y)
-+	DTC_FLAGS ?= -@
-+endif
-+
-+subdir-y  += overlays
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,127 @@
-+/dts-v1/;
-+
-+/include/ "bcm2708.dtsi"
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+	model = "Raspberry Pi Model B+";
-+};
-+
-+&gpio {
-+	spi0_pins: spi0_pins {
-+		brcm,pins = <7 8 9 10 11>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+
-+	i2c0_pins: i2c0 {
-+		brcm,pins = <0 1>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2c1_pins: i2c1 {
-+		brcm,pins = <2 3>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2s_pins: i2s {
-+		brcm,pins = <18 19 20 21>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+};
-+
-+&mmc {
-+	status = "okay";
-+	bus-width = <4>;
-+};
-+
-+&fb {
-+	status = "okay";
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
-+
-+&spi0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&spi0_pins>;
-+
-+	spidev@0{
-+		compatible = "spidev";
-+		reg = <0>;	/* CE0 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+
-+	spidev@1{
-+		compatible = "spidev";
-+		reg = <1>;	/* CE1 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+};
-+
-+&i2c0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c0_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c1 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c1_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c2 {
-+	clock-frequency = <100000>;
-+};
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+&leds {
-+	act_led: act {
-+		label = "led0";
-+		linux,default-trigger = "mmc0";
-+		gpios = <&gpio 47 0>;
-+	};
-+
-+	pwr_led: pwr {
-+		label = "led1";
-+		linux,default-trigger = "input";
-+		gpios = <&gpio 35 0>;
-+	};
-+};
-+
-+/ {
-+	__overrides__ {
-+		uart0 = <&uart0>,"status";
-+		uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
-+		i2s = <&i2s>,"status";
-+		spi = <&spi0>,"status";
-+		i2c0 = <&i2c0>,"status";
-+		i2c1 = <&i2c1>,"status";
-+		i2c2_iknowwhatimdoing = <&i2c2>,"status";
-+		i2c0_baudrate = <&i2c0>,"clock-frequency:0";
-+		i2c1_baudrate = <&i2c1>,"clock-frequency:0";
-+		i2c2_baudrate = <&i2c2>,"clock-frequency:0";
-+
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
-+		act_led_trigger = <&act_led>,"linux,default-trigger";
-+
-+		pwr_led_gpio = <&pwr_led>,"gpios:4";
-+		pwr_led_activelow = <&pwr_led>,"gpios:8";
-+		pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
-+
-+		audio = <&audio>,"status";
-+		watchdog = <&watchdog>,"status";
-+		random = <&random>,"status";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-b.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-b.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-b.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-b.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,117 @@
-+/dts-v1/;
-+
-+/include/ "bcm2708.dtsi"
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+	model = "Raspberry Pi Model B";
-+};
-+
-+&gpio {
-+	spi0_pins: spi0_pins {
-+		brcm,pins = <7 8 9 10 11>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+
-+	i2c0_pins: i2c0 {
-+		brcm,pins = <0 1>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2c1_pins: i2c1 {
-+		brcm,pins = <2 3>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2s_pins: i2s {
-+		brcm,pins = <28 29 30 31>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+};
-+
-+&mmc {
-+	status = "okay";
-+	bus-width = <4>;
-+};
-+
-+&fb {
-+	status = "okay";
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
-+
-+&spi0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&spi0_pins>;
-+
-+	spidev@0{
-+		compatible = "spidev";
-+		reg = <0>;	/* CE0 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+
-+	spidev@1{
-+		compatible = "spidev";
-+		reg = <1>;	/* CE1 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+};
-+
-+&i2c0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c0_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c1 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c1_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c2 {
-+	clock-frequency = <100000>;
-+};
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+&leds {
-+	act_led: act {
-+		label = "led0";
-+		linux,default-trigger = "mmc0";
-+		gpios = <&gpio 16 1>;
-+	};
-+};
-+
-+/ {
-+	__overrides__ {
-+		uart0 = <&uart0>,"status";
-+		uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
-+		i2s = <&i2s>,"status";
-+		spi = <&spi0>,"status";
-+		i2c0 = <&i2c0>,"status";
-+		i2c1 = <&i2c1>,"status";
-+		i2c2_iknowwhatimdoing = <&i2c2>,"status";
-+		i2c0_baudrate = <&i2c0>,"clock-frequency:0";
-+		i2c1_baudrate = <&i2c1>,"clock-frequency:0";
-+		i2c2_baudrate = <&i2c2>,"clock-frequency:0";
-+
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
-+		act_led_trigger = <&act_led>,"linux,default-trigger";
-+
-+		audio = <&audio>,"status";
-+		watchdog = <&watchdog>,"status";
-+		random = <&random>,"status";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-cm.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-cm.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-cm.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-cm.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,91 @@
-+/dts-v1/;
-+
-+/include/ "bcm2708-rpi-cm.dtsi"
-+
-+/ {
-+	model = "Raspberry Pi Compute Module";
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
-+
-+&gpio {
-+	spi0_pins: spi0_pins {
-+		brcm,pins = <7 8 9 10 11>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+
-+	i2c0_pins: i2c0 {
-+		brcm,pins = <0 1>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2c1_pins: i2c1 {
-+		brcm,pins = <2 3>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2s_pins: i2s {
-+		brcm,pins = <18 19 20 21>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+};
-+
-+&spi0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&spi0_pins>;
-+
-+	spidev@0{
-+		compatible = "spidev";
-+		reg = <0>;	/* CE0 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+
-+	spidev@1{
-+		compatible = "spidev";
-+		reg = <1>;	/* CE1 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+};
-+
-+&i2c0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c0_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c1 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c1_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c2 {
-+	clock-frequency = <100000>;
-+};
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+/ {
-+	__overrides__ {
-+		uart0 = <&uart0>,"status";
-+		uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
-+		i2s = <&i2s>,"status";
-+		spi = <&spi0>,"status";
-+		i2c0 = <&i2c0>,"status";
-+		i2c1 = <&i2c1>,"status";
-+		i2c2_iknowwhatimdoing = <&i2c2>,"status";
-+		i2c0_baudrate = <&i2c0>,"clock-frequency:0";
-+		i2c1_baudrate = <&i2c1>,"clock-frequency:0";
-+		i2c2_baudrate = <&i2c2>,"clock-frequency:0";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,30 @@
-+/include/ "bcm2708.dtsi"
-+
-+&leds {
-+	act_led: act {
-+		label = "led0";
-+		linux,default-trigger = "mmc0";
-+		gpios = <&gpio 47 0>;
-+	};
-+};
-+
-+&mmc {
-+	status = "okay";
-+	bus-width = <4>;
-+};
-+
-+&fb {
-+	status = "okay";
-+};
-+
-+&audio {
-+	status = "okay";
-+};
-+
-+/ {
-+	__overrides__ {
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
-+		act_led_trigger = <&act_led>,"linux,default-trigger";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2708.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2708.dtsi	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,19 @@
-+/include/ "bcm2708_common.dtsi"
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+	model = "BCM2708";
-+
-+	chosen {
-+		/* No padding required - the boot loader can do that. */
-+		bootargs = "";
-+	};
-+
-+	soc {
-+		ranges = <0x7e000000 0x20000000 0x01000000>;
-+
-+		arm-pmu {
-+			compatible = "arm,arm1176-pmu";
-+		};
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2708_common.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2708_common.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2708_common.dtsi	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2708_common.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,273 @@
-+/include/ "skeleton.dtsi"
-+
-+/ {
-+	interrupt-parent = <&intc>;
-+
-+	aliases {
-+		audio = &audio;
-+		sound = &sound;
-+		soc = &soc;
-+		dma = &dma;
-+		intc = &intc;
-+		watchdog = &watchdog;
-+		random = &random;
-+		mailbox = &mailbox;
-+		gpio = &gpio;
-+		uart0 = &uart0;
-+		i2s  = &i2s;
-+		spi0 = &spi0;
-+		i2c0 = &i2c0;
-+		uart1 = &uart1;
-+		mmc = &mmc;
-+		i2c1 = &i2c1;
-+		i2c2 = &i2c2;
-+		usb = &usb;
-+		leds = &leds;
-+		fb = &fb;
-+		vchiq = &vchiq;
-+		thermal = &thermal;
-+		clocks = &clocks;
-+	};
-+
-+	/* Onboard audio */
-+	audio: audio {
-+		compatible = "brcm,bcm2835-audio";
-+		brcm,pwm-channels = <8>;
-+		status = "disabled";
-+	};
-+
-+	/* External sound card */
-+	sound: sound {
-+	};
-+
-+	soc: soc {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <1>;
-+
-+		dma: dma@7e007000 {
-+			compatible = "brcm,bcm2835-dma";
-+			reg = <0x7e007000 0xf00>;
-+			interrupts = <1 16>,
-+				     <1 17>,
-+				     <1 18>,
-+				     <1 19>,
-+				     <1 20>,
-+				     <1 21>,
-+				     <1 22>,
-+				     <1 23>,
-+				     <1 24>,
-+				     <1 25>,
-+				     <1 26>,
-+				     <1 27>,
-+				     <1 28>;
-+
-+			#dma-cells = <1>;
-+			brcm,dma-channel-mask = <0x7f35>;
-+		};
-+
-+		intc: interrupt-controller {
-+			compatible = "brcm,bcm2708-armctrl-ic";
-+			reg = <0x7e00b200 0x200>;
-+			interrupt-controller;
-+			#interrupt-cells = <2>;
-+		};
-+
-+		mailbox: mailbox@7e00b800 {
-+			compatible = "brcm,bcm2708-vcio";
-+			reg = <0x7e00b880 0x40>;
-+			interrupts = <0 1>;
-+		};
-+
-+		watchdog: watchdog@7e100000 {
-+			compatible = "brcm,bcm2835-pm-wdt";
-+			reg = <0x7e100000 0x28>;
-+			status = "disabled";
-+		};
-+
-+		random: rng@7e104000 {
-+			compatible = "brcm,bcm2835-rng";
-+			reg = <0x7e104000 0x10>;
-+			status = "disabled";
-+		};
-+
-+		gpio: gpio {
-+			compatible = "brcm,bcm2835-gpio";
-+			reg = <0x7e200000 0xb4>;
-+			interrupts = <2 17>, <2 18>;
-+
-+			gpio-controller;
-+			#gpio-cells = <2>;
-+
-+			interrupt-controller;
-+			#interrupt-cells = <2>;
-+		};
-+
-+		uart0: uart@7e201000 {
-+			compatible = "arm,pl011", "arm,primecell";
-+			reg = <0x7e201000 0x1000>;
-+			interrupts = <2 25>;
-+			clocks = <&clk_uart0 &clk_apb_p>;
-+			clock-names = "uartclk","apb_pclk";
-+			arm,primecell-periphid = <0x00241011>; // For an explanation, see
-+			// https://github.com/raspberrypi/linux/commit/13731d862cf5219216533a3b0de052cee4cc5038
-+			status = "disabled";
-+		};
-+
-+		i2s: i2s@7e203000 {
-+			compatible = "brcm,bcm2708-i2s";
-+			reg = <0x7e203000 0x20>,
-+			      <0x7e101098 0x02>;
-+
-+			//dmas = <&dma 2>,
-+			//       <&dma 3>;
-+			dma-names = "tx", "rx";
-+			status = "disabled";
-+		};
-+
-+		spi0: spi@7e204000 {
-+			compatible = "brcm,bcm2835-spi";
-+			reg = <0x7e204000 0x1000>;
-+			interrupts = <2 22>;
-+			clocks = <&clk_spi>;
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "disabled";
-+			/* the dma channels */
-+			dmas = <&dma 6>, <&dma 7>;
-+			dma-names = "tx", "rx";
-+			/* the chipselects used - <0> means native GPIO
-+			 * add more gpios if necessary as <&gpio 6 1>
-+			 * (but do not forget to make them output!)
-+			 */
-+			cs-gpios = <0>, <0>;
-+		};
-+
-+		i2c0: i2c@7e205000 {
-+			compatible = "brcm,bcm2708-i2c";
-+			reg = <0x7e205000 0x1000>;
-+			interrupts = <2 21>;
-+			clocks = <&clk_i2c>;
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "disabled";
-+		};
-+
-+		uart1: uart@7e215040 {
-+			compatible = "brcm,bcm2835-aux-uart", "ns16550";
-+			reg = <0x7e215040 0x40>;
-+			interrupts = <1 29>;
-+			clock-frequency = <500000000>;
-+			reg-shift = <2>;
-+			no-loopback-test;
-+			status = "disabled";
-+	        };
-+
-+		mmc: mmc@7e300000 {
-+			compatible = "brcm,bcm2835-mmc";
-+			reg = <0x7e300000 0x100>;
-+			interrupts = <2 30>;
-+			clocks = <&clk_mmc>;
-+			dmas = <&dma 11>,
-+			       <&dma 11>;
-+			dma-names = "tx", "rx";
-+			status = "disabled";
-+		};
-+
-+		i2c1: i2c@7e804000 {
-+			compatible = "brcm,bcm2708-i2c";
-+			reg = <0x7e804000 0x1000>;
-+			interrupts = <2 21>;
-+			clocks = <&clk_i2c>;
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "disabled";
-+		};
-+
-+		i2c2: i2c@7e805000 {
-+			// Beware - this is shared with the HDMI module.
-+			// Careless use may break (really) your display.
-+			// Caveat emptor.
-+			compatible = "brcm,bcm2708-i2c";
-+			reg = <0x7e805000 0x1000>;
-+			interrupts = <2 21>;
-+			clocks = <&clk_i2c>;
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "disabled";
-+		};
-+
-+		usb: usb@7e980000 {
-+			compatible = "brcm,bcm2708-usb";
-+			reg = <0x7e980000 0x10000>,
-+			      <0x7e006000 0x1000>;
-+			interrupts = <2 0>,
-+				     <1 9>;
-+		};
-+
-+		leds: leds {
-+			compatible = "gpio-leds";
-+		};
-+
-+		fb: fb {
-+			compatible = "brcm,bcm2708-fb";
-+			status = "disabled";
-+		};
-+
-+		vchiq: vchiq {
-+			compatible = "brcm,bcm2835-vchiq";
-+			reg = <0x7e00b840 0xf>;
-+			interrupts = <0 2>;
-+		};
-+
-+		thermal: thermal {
-+			compatible = "brcm,bcm2835-thermal";
-+		};
-+	};
-+
-+	clocks: clocks {
-+		compatible = "simple-bus";
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+
-+		clk_mmc: clock@0 {
-+			compatible = "fixed-clock";
-+			reg = <0>;
-+			#clock-cells = <0>;
-+			clock-output-names = "mmc";
-+			clock-frequency = <250000000>;
-+		};
-+
-+		clk_i2c: clock@1 {
-+			compatible = "fixed-clock";
-+			reg = <1>;
-+			#clock-cells = <0>;
-+			clock-output-names = "i2c";
-+			clock-frequency = <250000000>;
-+		};
-+
-+		clk_spi: clock@2 {
-+			compatible = "fixed-clock";
-+			reg = <2>;
-+			#clock-cells = <0>;
-+			clock-output-names = "spi";
-+			clock-frequency = <250000000>;
-+		};
-+
-+		clk_uart0: clock@3 {
-+			compatible = "fixed-clock";
-+			reg = <3>;
-+			#clock-cells = <0>;
-+			clock-output-names = "uart0_pclk";
-+			clock-frequency = <3000000>;
-+		};
-+
-+		clk_apb_p: clock@4 {
-+			compatible = "fixed-clock";
-+			reg = <4>;
-+			#clock-cells = <0>;
-+			clock-output-names = "apb_pclk";
-+			clock-frequency = <126000000>;
-+		};
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2709-rpi-2-b.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2709-rpi-2-b.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2709-rpi-2-b.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,127 @@
-+/dts-v1/;
-+
-+/include/ "bcm2709.dtsi"
-+
-+/ {
-+	compatible = "brcm,bcm2709";
-+	model = "Raspberry Pi 2 Model B";
-+};
-+
-+&gpio {
-+	spi0_pins: spi0_pins {
-+		brcm,pins = <7 8 9 10 11>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+
-+	i2c0_pins: i2c0 {
-+		brcm,pins = <0 1>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2c1_pins: i2c1 {
-+		brcm,pins = <2 3>;
-+		brcm,function = <4>;
-+	};
-+
-+	i2s_pins: i2s {
-+		brcm,pins = <18 19 20 21>;
-+		brcm,function = <4>; /* alt0 */
-+	};
-+};
-+
-+&mmc {
-+	status = "okay";
-+	bus-width = <4>;
-+};
-+
-+&fb {
-+	status = "okay";
-+};
-+
-+&uart0 {
-+	status = "okay";
-+};
-+
-+&spi0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&spi0_pins>;
-+
-+	spidev@0{
-+		compatible = "spidev";
-+		reg = <0>;	/* CE0 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+
-+	spidev@1{
-+		compatible = "spidev";
-+		reg = <1>;	/* CE1 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
-+	};
-+};
-+
-+&i2c0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c0_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c1 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c1_pins>;
-+	clock-frequency = <100000>;
-+};
-+
-+&i2c2 {
-+	clock-frequency = <100000>;
-+};
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+&leds {
-+	act_led: act {
-+		label = "led0";
-+		linux,default-trigger = "mmc0";
-+		gpios = <&gpio 47 0>;
-+	};
-+
-+	pwr_led: pwr {
-+		label = "led1";
-+		linux,default-trigger = "input";
-+		gpios = <&gpio 35 0>;
-+	};
-+};
-+
-+/ {
-+	__overrides__ {
-+		uart0 = <&uart0>,"status";
-+		uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
-+		i2s = <&i2s>,"status";
-+		spi = <&spi0>,"status";
-+		i2c0 = <&i2c0>,"status";
-+		i2c1 = <&i2c1>,"status";
-+		i2c2_iknowwhatimdoing = <&i2c2>,"status";
-+		i2c0_baudrate = <&i2c0>,"clock-frequency:0";
-+		i2c1_baudrate = <&i2c1>,"clock-frequency:0";
-+		i2c2_baudrate = <&i2c2>,"clock-frequency:0";
-+
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
-+		act_led_trigger = <&act_led>,"linux,default-trigger";
-+
-+		pwr_led_gpio = <&pwr_led>,"gpios:4";
-+		pwr_led_activelow = <&pwr_led>,"gpios:8";
-+		pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
-+
-+		audio = <&audio>,"status";
-+		watchdog = <&watchdog>,"status";
-+		random = <&random>,"status";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2709.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2709.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2709.dtsi	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2709.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -0,0 +1,70 @@
-+/include/ "bcm2708_common.dtsi"
-+
-+/ {
-+	compatible = "brcm,bcm2709";
-+	model = "BCM2709";
-+
-+	chosen {
-+		/* No padding required - the boot loader can do that. */
-+		bootargs = "";
-+	};
-+
-+	soc {
-+		ranges = <0x7e000000 0x3f000000 0x01000000>;
-+
-+		arm-pmu {
-+			compatible = "arm,cortex-a7-pmu";
-+			interrupts = <3 9>;
-+		};
-+	};
-+
-+	timer {
-+		compatible = "arm,armv7-timer";
-+		clock-frequency = <19200000>;
-+		interrupts = <3 0>, // PHYS_SECURE_PPI
-+			     <3 1>, // PHYS_NONSECURE_PPI
-+			     <3 3>, // VIRT_PPI
-+			     <3 2>; // HYP_PPI
-+		always-on;
-+	};
-+
-+	cpus: cpus {
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+
-+		v7_cpu0: cpu@0 {
-+			device_type = "cpu";
-+			compatible = "arm,cortex-a7";
-+			reg = <0xf00>;
-+			clock-frequency = <800000000>;
-+		};
-+
-+		v7_cpu1: cpu@1 {
-+			device_type = "cpu";
-+			compatible = "arm,cortex-a7";
-+			reg = <0xf01>;
-+			clock-frequency = <800000000>;
-+		};
-+
-+		v7_cpu2: cpu@2 {
-+			device_type = "cpu";
-+			compatible = "arm,cortex-a7";
-+			reg = <0xf02>;
-+			clock-frequency = <800000000>;
-+		};
-+
-+		v7_cpu3: cpu@3 {
-+			device_type = "cpu";
-+			compatible = "arm,cortex-a7";
-+			reg = <0xf03>;
-+			clock-frequency = <800000000>;
-+		};
-+	};
-+
-+	__overrides__ {
-+		arm_freq = <&v7_cpu0>, "clock-frequency:0",
-+		       <&v7_cpu1>, "clock-frequency:0",
-+		       <&v7_cpu2>, "clock-frequency:0",
-+		       <&v7_cpu3>, "clock-frequency:0";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -4,27 +4,40 @@
- / {
- 	compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
- 	model = "Raspberry Pi Model B+";
--
--	leds {
--		act {
--			gpios = <&gpio 47 0>;
--		};
--
--		pwr {
--			label = "PWR";
--			gpios = <&gpio 35 0>;
--			default-state = "keep";
--			linux,default-trigger = "default-on";
--		};
--	};
- };
- 
- &gpio {
--	pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
--
--	/* I2S interface */
--	i2s_alt0: i2s_alt0 {
-+	i2s_pins: i2s {
- 		brcm,pins = <18 19 20 21>;
- 		brcm,function = <4>; /* alt0 */
- 	};
- };
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+&act_led {
-+	gpios = <&gpio 47 0>;
-+};
-+
-+&leds {
-+	pwr_led: pwr {
-+		label = "led1";
-+		linux,default-trigger = "input";
-+		gpios = <&gpio 35 0>;
-+	};
-+};
-+
-+/ {
-+	__overrides__ {
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
-+
-+		pwr_led_gpio = <&pwr_led>,"gpios:4";
-+		pwr_led_activelow = <&pwr_led>,"gpios:8";
-+		pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi-b.dts linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi-b.dts
---- linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi-b.dts	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi-b.dts	2015-06-23 13:23:30.786045839 +0200
-@@ -5,19 +5,28 @@
- 	compatible = "raspberrypi,model-b", "brcm,bcm2835";
- 	model = "Raspberry Pi Model B";
- 
--	leds {
--		act {
--			gpios = <&gpio 16 1>;
--		};
--	};
- };
- 
- &gpio {
--	pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
--
--	/* I2S interface */
--	i2s_alt2: i2s_alt2 {
-+	i2s_pins: i2s {
- 		brcm,pins = <28 29 30 31>;
--		brcm,function = <6>; /* alt2 */
-+		brcm,function = <4>; /* alt0 */
-+	};
-+};
-+
-+&i2s {
-+	#sound-dai-cells = <0>;
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2s_pins>;
-+};
-+
-+&act_led {
-+	gpios = <&gpio 16 1>;
-+};
-+
-+/ {
-+	__overrides__ {
-+		act_led_gpio = <&act_led>,"gpios:4";
-+		act_led_activelow = <&act_led>,"gpios:8";
- 	};
- };
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2835-rpi.dtsi	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2835-rpi.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -1,51 +1,112 @@
- /include/ "bcm2835.dtsi"
- 
- / {
-+	/* This is left here in case u-boot needs it */
- 	memory {
- 		reg = <0 0x10000000>;
- 	};
- 
--	leds {
-+	aliases {
-+		soc = &soc;
-+		spi0 = &spi0;
-+		i2c0 = &i2c0;
-+		i2c1 = &i2c1;
-+		i2s  = &i2s;
-+		gpio = &gpio;
-+		intc = &intc;
-+		leds = &leds;
-+		sound = &sound;
-+	};
-+
-+	leds: leds {
- 		compatible = "gpio-leds";
- 
--		act {
--			label = "ACT";
--			default-state = "keep";
--			linux,default-trigger = "heartbeat";
-+		act_led: act {
-+			label = "led0";
-+			linux,default-trigger = "mmc0";
- 		};
- 	};
-+
-+	/* Onboard audio */
-+	audio: audio {
-+		compatible = "brcm,bcm2835-audio";
-+		brcm,pwm-channels = <8>;
-+		status = "disabled";
-+	};
-+
-+	/* External sound card */
-+	sound: sound {
-+	};
- };
- 
- &gpio {
--	pinctrl-names = "default";
-+	spi0_pins: spi0_pins {
-+		brcm,pins = <7 8 9 10 11>;
-+		brcm,function = <4>; /* alt0 */
-+	};
- 
--	gpioout: gpioout {
--		brcm,pins = <6>;
--		brcm,function = <1>; /* GPIO out */
-+	i2c0_pins: i2c0 {
-+		brcm,pins = <0 1>;
-+		brcm,function = <4>;
- 	};
- 
--	alt0: alt0 {
--		brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
--		brcm,function = <4>; /* alt0 */
-+	i2c1_pins: i2c1 {
-+		brcm,pins = <2 3>;
-+		brcm,function = <4>;
-+	};
-+};
-+
-+&spi0 {
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&spi0_pins>;
-+
-+	spidev@0{
-+		compatible = "spidev";
-+		reg = <0>;	/* CE0 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
- 	};
- 
--	alt3: alt3 {
--		brcm,pins = <48 49 50 51 52 53>;
--		brcm,function = <7>; /* alt3 */
-+	spidev@1{
-+		compatible = "spidev";
-+		reg = <1>;	/* CE1 */
-+		#address-cells = <1>;
-+		#size-cells = <0>;
-+		spi-max-frequency = <500000>;
- 	};
- };
- 
- &i2c0 {
--	status = "okay";
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c0_pins>;
- 	clock-frequency = <100000>;
- };
- 
- &i2c1 {
--	status = "okay";
-+	pinctrl-names = "default";
-+	pinctrl-0 = <&i2c1_pins>;
- 	clock-frequency = <100000>;
- };
- 
--&sdhci {
-+&mmc {
- 	status = "okay";
- 	bus-width = <4>;
- };
-+
-+&fb {
-+	status = "okay";
-+};
-+
-+/ {
-+	__overrides__ {
-+		i2s = <&i2s>,"status";
-+		spi = <&spi0>,"status";
-+		i2c0 = <&i2c0>,"status";
-+		i2c1 = <&i2c1>,"status";
-+		i2c0_baudrate = <&i2c0>,"clock-frequency:0";
-+		i2c1_baudrate = <&i2c1>,"clock-frequency:0";
-+		act_led_trigger = <&act_led>,"linux,default-trigger";
-+		audio = <&audio>,"status";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/bcm2835.dtsi linux-4.0-rpi/arch/arm/boot/dts/bcm2835.dtsi
---- linux-4.0.5/arch/arm/boot/dts/bcm2835.dtsi	2015-06-06 17:21:22.000000000 +0200
-+++ linux-4.0-rpi/arch/arm/boot/dts/bcm2835.dtsi	2015-06-23 13:23:30.786045839 +0200
-@@ -6,14 +6,15 @@
- 	interrupt-parent = <&intc>;
- 
- 	chosen {
--		bootargs = "earlyprintk console=ttyAMA0";
-+		bootargs = "";
- 	};
- 
--	soc {
-+	soc: soc {
- 		compatible = "simple-bus";
- 		#address-cells = <1>;
- 		#size-cells = <1>;
- 		ranges = <0x7e000000 0x20000000 0x02000000>;
-+		dma-ranges = <0x40000000 0x00000000 0x20000000>;
- 
- 		timer@7e003000 {
- 			compatible = "brcm,bcm2835-system-timer";
-@@ -50,16 +51,22 @@
- 			#interrupt-cells = <2>;
- 		};
- 
--		watchdog@7e100000 {
-+		watchdog: watchdog@7e100000 {
- 			compatible = "brcm,bcm2835-pm-wdt";
- 			reg = <0x7e100000 0x28>;
- 		};
- 
--		rng@7e104000 {
-+		random: rng@7e104000 {
- 			compatible = "brcm,bcm2835-rng";
- 			reg = <0x7e104000 0x10>;
- 		};
- 
-+		mailbox: mailbox@7e00b800 {
-+			compatible = "brcm,bcm2708-vcio";
-+			reg = <0x7e00b880 0x40>;
-+			interrupts = <0 1>;
-+		};
-+
- 		gpio: gpio@7e200000 {
- 			compatible = "brcm,bcm2835-gpio";
- 			reg = <0x7e200000 0xb4>;
-@@ -83,7 +90,7 @@
- 			#interrupt-cells = <2>;
- 		};
- 
--		uart@7e201000 {
-+		uart0: uart@7e201000 {
- 			compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
- 			reg = <0x7e201000 0x1000>;
- 			interrupts = <2 25>;
-@@ -102,7 +109,7 @@
- 			status = "disabled";
- 		};
- 
--		spi: spi@7e204000 {
-+		spi0: spi@7e204000 {
- 			compatible = "brcm,bcm2835-spi";
- 			reg = <0x7e204000 0x1000>;
- 			interrupts = <2 22>;
-@@ -122,11 +129,14 @@
- 			status = "disabled";
- 		};
- 
--		sdhci: sdhci@7e300000 {
--			compatible = "brcm,bcm2835-sdhci";
-+		mmc: mmc@7e300000 {
-+			compatible = "brcm,bcm2835-mmc";
- 			reg = <0x7e300000 0x100>;
- 			interrupts = <2 30>;
- 			clocks = <&clk_mmc>;
-+			dmas = <&dma 11>,
-+			       <&dma 11>;
-+			dma-names = "tx", "rx";
- 			status = "disabled";
- 		};
- 
-@@ -140,7 +150,7 @@
- 			status = "disabled";
- 		};
- 
--		usb@7e980000 {
-+		usb: usb@7e980000 {
- 			compatible = "brcm,bcm2835-usb";
- 			reg = <0x7e980000 0x10000>;
- 			interrupts = <1 9>;
-@@ -149,6 +159,21 @@
- 		arm-pmu {
- 			compatible = "arm,arm1176-pmu";
- 		};
-+
-+		fb: fb {
-+			compatible = "brcm,bcm2708-fb";
-+			status = "disabled";
-+		};
-+
-+		vchiq: vchiq {
-+			compatible = "brcm,bcm2835-vchiq";
-+			reg = <0x7e00b840 0xf>;
-+			interrupts = <0 2>;
-+		};
-+
-+		thermal: thermal {
-+			compatible = "brcm,bcm2835-thermal";
-+		};
- 	};
- 
- 	clocks {
-@@ -161,7 +186,7 @@
- 			reg = <0>;
- 			#clock-cells = <0>;
- 			clock-output-names = "mmc";
--			clock-frequency = <100000000>;
-+			clock-frequency = <250000000>;
- 		};
- 
- 		clk_i2c: clock@1 {
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/Makefile linux-4.0-rpi/arch/arm/boot/dts/overlays/Makefile
---- linux-4.0.5/arch/arm/boot/dts/overlays/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/Makefile	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,57 @@
-+ifeq ($(CONFIG_OF),y)
-+
-+# Overlays for the Raspberry Pi platform
-+
-+ifeq ($(CONFIG_BCM2708_DT),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+ifeq ($(CONFIG_BCM2709_DT),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+ifeq ($(CONFIG_ARCH_BCM2835),y)
-+   RPI_DT_OVERLAYS=y
-+endif
-+
-+dtb-$(RPI_DT_OVERLAYS) += ads7846-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += dht11-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += enc28j60-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hifiberry-dac-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hifiberry-dacplus-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hifiberry-digi-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hy28a-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += hy28b-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += i2c-rtc-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += i2s-mmap-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += iqaudio-dac-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += iqaudio-dacplus-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += lirc-rpi-overlay.dtb
-+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) += pitft28-resistive-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += rpi-dac-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += rpi-display-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += rpi-proto-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += sdhost-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += spi-bcm2708-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += spi-bcm2835-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += tinylcd35-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb
-+dtb-$(RPI_DT_OVERLAYS) += w1-gpio-pullup-overlay.dtb
-+
-+targets += dtbs dtbs_install
-+targets += $(dtb-y)
-+
-+endif
-+
-+always		:= $(dtb-y)
-+clean-files	:= *.dtb
-+
-+# Enable fixups to support overlays on BCM2708 platforms
-+ifeq ($(RPI_DT_OVERLAYS),y)
-+	DTC_FLAGS ?= -@
-+endif
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/README linux-4.0-rpi/arch/arm/boot/dts/overlays/README
---- linux-4.0.5/arch/arm/boot/dts/overlays/README	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/README	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,505 @@
-+Introduction
-+============
-+
-+This directory contains Device Tree overlays. Device Tree makes it possible
-+to support many hardware configurations with a single kernel and without the
-+need to explicitly load or blacklist kernel modules. Note that this isn't a
-+"pure" Device Tree configuration (c.f. MACH_BCM2835) - some on-board devices
-+are still configured by the board support code, but the intention is to
-+eventually reach that goal.
-+
-+On Raspberry Pi, Device Tree usage is controlled from /boot/config.txt. By
-+default, the Raspberry Pi kernel boots with device tree enabled. You can
-+completely disable DT usage (for now) by adding:
-+
-+    device_tree=
-+
-+to your config.txt, which should cause your Pi to revert to the old way of
-+doing things after a reboot.
-+
-+In /boot you will find a .dtb for each base platform. This describes the
-+hardware that is part of the Raspberry Pi board. The loader (start.elf and its
-+siblings) selects the .dtb file appropriate for the platform by name, and reads
-+it into memory. At this point, all of the optional interfaces (i2c, i2s, spi)
-+are disabled, but they can be enabled using Device Tree parameters:
-+
-+    dtparam=i2c=on,i2s=on,spi=on
-+
-+However, this shouldn't be necessary in many use cases because loading an
-+overlay that requires one of those interfaces will cause it to be enabled
-+automatically, and it is advisable to only enable interfaces if they are
-+needed.
-+
-+Configuring additional, optional hardware is done using Device Tree overlays
-+(see below).
-+
-+raspi-config
-+============
-+
-+The Advanced Options section of the raspi-config utility can enable and disable
-+Device Tree use, as well as toggling the I2C and SPI interfaces. Note that it
-+is possible to both enable an interface and blacklist the driver, if for some
-+reason you should want to defer the loading.
-+
-+Modules
-+=======
-+
-+As well as describing the hardware, Device Tree also gives enough information
-+to allow suitable driver modules to be located and loaded, with the corollary
-+that unneeded modules are not loaded. As a result it should be possible to
-+remove lines from /etc/modules, and /etc/modprobe.d/raspi-blacklist.conf can
-+have its contents deleted (or commented out).
-+
-+Using Overlays
-+==============
-+
-+Overlays are loaded using the "dtoverlay" directive. As an example, consider the
-+popular lirc-rpi module, the Linux Infrared Remote Control driver. In the
-+pre-DT world this would be loaded from /etc/modules, with an explicit
-+"modprobe lirc-rpi" command, or programmatically by lircd. With DT enabled,
-+this becomes a line in config.txt:
-+
-+    dtoverlay=lirc-rpi
-+
-+This causes the file /boot/overlays/lirc-rpi-overlay.dtb to be loaded. By
-+default it will use GPIOs 17 (out) and 18 (in), but this can be modified using
-+DT parameters:
-+
-+    dtoverlay=lirc-rpi,gpio_out_pin=17,gpio_in_pin=13
-+
-+Parameters always have default values, although in some cases (e.g. "w1-gpio")
-+it is necessary to provided multiple overlays in order to get the desired
-+behaviour. See the list of overlays below for a description of the parameters and their defaults.
-+
-+The Overlay and Parameter Reference
-+===================================
-+
-+Name:   <The base DTB>
-+Info:   Configures the base Raspberry Pi hardware
-+Load:   <loaded automatically>
-+Params:
-+        audio                    Set to "on" to disable the onboard ALSA audio
-+                                 interface (default "off")
-+
-+        i2c_arm                  Set to "on" to enable the ARM's i2c interface
-+                                 (default "off")
-+
-+        i2c_vc                   Set to "on" to enable the i2c interface
-+                                 usually reserved for the VideoCore processor
-+                                 (default "off")
-+
-+        i2c                      An alias for i2c_arm
-+
-+        i2c_arm_baudrate         Set the baudrate of the ARM's i2c interface
-+                                 (default "100000")
-+
-+        i2c_vc_baudrate          Set the baudrate of the VideoCore i2c interface
-+                                 (default "100000")
-+
-+        i2c_baudrate             An alias for i2c_arm_baudrate
-+
-+        i2s                      Set to "on" to enable the i2s interface
-+                                 (default "off")
-+
-+        spi                      Set to "on" to enable the spi interfaces
-+                                 (default "off")
-+
-+        random                   Set to "on" to enable the hardware random
-+                                 number generator (default "off")
-+
-+        uart0                    Set to "off" to disable uart0 (default "on")
-+
-+        watchdog                 Set to "on" to enable the hardware watchdog
-+                                 (default "off")
-+
-+        act_led_trigger          Choose which activity the LED tracks.
-+                                 Use "heartbeat" for a nice load indicator.
-+                                 (default "mmc")
-+
-+        act_led_activelow        Set to "on" to invert the sense of the LED
-+                                 (default "off")
-+
-+        act_led_gpio             Set which GPIO to use for the activity LED
-+                                 (in case you want to connect it to an external
-+                                 device)
-+                                 (default "16" on a non-Plus board, "47" on a
-+                                 Plus or Pi 2)
-+
-+        pwr_led_trigger
-+        pwr_led_activelow
-+        pwr_led_gpio
-+                                 As for act_led_*, but using the PWR LED.
-+                                 Not available on Model A/B boards.
-+
-+        N.B. It is recommended to only enable those interfaces that are needed.
-+        Leaving all interfaces enabled can lead to unwanted behaviour (i2c_vc
-+        interfering with Pi Camera, I2S and SPI hogging GPIO pins, etc.)
-+        Note also that i2c, i2c_arm and i2c_vc are aliases for the physical
-+        interfaces i2c0 and i2c1. Use of the numeric variants is still possible
-+        but deprecated because the ARM/VC assignments differ between board
-+        revisions. The same board-specific mapping applies to i2c_baudrate,
-+        and the other i2c baudrate parameters.
-+
-+
-+Name:   ads7846
-+Info:   ADS7846 Touch controller
-+Load:   dtoverlay=ads7846,<param>=<val>
-+Params: cs                       SPI bus Chip Select (default 1)
-+        speed                    SPI bus speed (default 2Mhz, max 3.25MHz)
-+        penirq                   GPIO used for PENIRQ. REQUIRED
-+        penirq_pull              Set GPIO pull (default 0=none, 2=pullup)
-+        swapxy                   Swap x and y axis
-+        xmin                     Minimum value on the X axis (default 0)
-+        ymin                     Minimum value on the Y axis (default 0)
-+        xmax                     Maximum value on the X axis (default 4095)
-+        ymax                     Maximum value on the Y axis (default 4095)
-+        pmin                     Minimum reported pressure value (default 0)
-+        pmax                     Maximum reported pressure value (default 65535)
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+                                 (default 400)
-+
-+        penirq is required and usually xohms (60-100) has to be set as well.
-+        Apart from that, pmax (255) and swapxy are also common.
-+        The rest of the calibration can be done with xinput-calibrator.
-+        See: github.com/notro/fbtft/wiki/FBTFT-on-Raspian
-+        Device Tree binding document:
-+        www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
-+
-+
-+Name:   bmp085_i2c-sensor
-+Info:   Configures the BMP085/BMP180 digital barometric pressure and temperature
-+        sensors from Bosch Sensortec
-+Load:   dtoverlay=bmp085_i2c-sensor
-+Params: <None>
-+
-+
-+[ The ds1307-rtc overlay has been deleted. See i2c-rtc. ]
-+
-+
-+Name:   enc28j60
-+Info:   Overlay for the Microchip ENC28J60 Ethernet Controller (SPI)
-+Load:   dtoverlay=enc28j60,<param>=<val>
-+Params: int_pin                  GPIO used for INT (default 25)
-+
-+        speed                    SPI bus speed (default 12000000)
-+
-+
-+Name:   hifiberry-amp
-+Info:   Configures the HifiBerry Amp and Amp+ audio cards
-+Load:   dtoverlay=hifiberry-amp
-+Params: <None>
-+
-+
-+Name:   hifiberry-dac
-+Info:   Configures the HifiBerry DAC audio card
-+Load:   dtoverlay=hifiberry-dac
-+Params: <None>
-+
-+
-+Name:   hifiberry-dacplus
-+Info:   Configures the HifiBerry DAC+ audio card
-+Load:   dtoverlay=hifiberry-dacplus
-+Params: <None>
-+
-+
-+Name:   hifiberry-digi
-+Info:   Configures the HifiBerry Digi audio card
-+Load:   dtoverlay=hifiberry-digi
-+Params: <None>
-+
-+
-+Name:   hy28a
-+Info:   HY28A - 2.8" TFT LCD Display Module by HAOYU Electronics
-+        Default values match Texy's display shield
-+Load:   dtoverlay=hy28a,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+
-+        resetgpio                GPIO used to reset controller
-+
-+        ledgpio                  GPIO used to control backlight
-+
-+
-+Name:   hy28b
-+Info:   HY28B - 2.8" TFT LCD Display Module by HAOYU Electronics
-+        Default values match Texy's display shield
-+Load:   dtoverlay=hy28b,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+
-+        resetgpio                GPIO used to reset controller
-+
-+        ledgpio                  GPIO used to control backlight
-+
-+
-+Name:   i2c-rtc
-+Info:   Adds support for a number of I2C Real Time Clock devices
-+Load:   dtoverlay=i2c-rtc,<param>
-+Params: ds1307                   Select the DS1307 device
-+
-+        ds3231                   Select the DS3231 device
-+
-+        pcf2127                  Select the PCF2127 device
-+
-+        pcf8523                  Select the PCF8523 device
-+
-+        pcf8563                  Select the PCF8563 device
-+
-+
-+Name:   i2s-mmap
-+Info:   Enables mmap support in the bcm2708-i2s driver
-+Load:   dtoverlay=i2s-mmap
-+Params: <None>
-+
-+
-+Name:   iqaudio-dac
-+Info:   Configures the IQaudio DAC audio card
-+Load:   dtoverlay=iqaudio-dac
-+Params: <None>
-+
-+
-+Name:   iqaudio-dacplus
-+Info:   Configures the IQaudio DAC+ audio card
-+Load:   dtoverlay=iqaudio-dacplus
-+Params: <None>
-+
-+
-+Name:   lirc-rpi
-+Info:   Configures lirc-rpi (Linux Infrared Remote Control for Raspberry Pi)
-+        Consult the module documentation for more details.
-+Load:   dtoverlay=lirc-rpi,<param>=<val>,...
-+Params: gpio_out_pin             GPIO for output (default "17")
-+
-+        gpio_in_pin              GPIO for input (default "18")
-+
-+        gpio_in_pull             Pull up/down/off on the input pin
-+                                 (default "down")
-+
-+        sense                    Override the IR receive auto-detection logic:
-+                                   "1" = force active high
-+                                   "0" = force active low
-+                                   "-1" = use auto-detection
-+                                 (default "-1")
-+
-+        softcarrier              Turn the software carrier "on" or "off"
-+                                 (default "on")
-+
-+        invert                   "on" = invert the output pin (default "off")
-+
-+        debug                    "on" = enable additional debug messages
-+                                 (default "off")
-+
-+
-+Name:   mcp2515-can0
-+Info:   Configures the MCP2515 CAN controller
-+Load:   dtoverlay=mcp2515-can0,<param>=<val>
-+Params: oscillator               Clock frequency for the CAN controller (Hz)
-+
-+        spimaxfrequency          Maximum SPI frequence (Hz)
-+
-+        interrupt                GPIO for interrupt signal
-+
-+
-+Name:   mmc
-+Info:   Selects the bcm2835-mmc SD/MMC driver, optionally with overclock
-+Load:   dtoverlay=mmc,<param>=<val>
-+Params: overclock_50             Clock (in MHz) to use when the MMC framework
-+                                 requests 50MHz
-+        force_pio                Disable DMA support
-+
-+
-+Name:   mz61581
-+Info:   MZ61581 display by Tontec
-+Load:   dtoverlay=mz61581,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+
-+
-+[ The pcf2127-rtc overlay has been deleted. See i2c-rtc. ]
-+
-+
-+[ The pcf8523-rtc overlay has been deleted. See i2c-rtc. ]
-+
-+
-+[ The pcf8563-rtc overlay has been deleted. See i2c-rtc. ]
-+
-+
-+Name:   piscreen
-+Info:   PiScreen display by OzzMaker.com
-+Load:   dtoverlay=piscreen,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+
-+
-+Name:   pitft28-resistive
-+Info:   Adafruit PiTFT 2.8" resistive touch screen
-+Load:   dtoverlay=pitft28-resistive,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+
-+Name:   pps-gpio
-+Info:   Configures the pps-gpio (pulse-per-second time signal via GPIO).
-+Load:   dtoverlay=pps-gpio,<param>=<val>
-+Params: gpiopin                  Input GPIO (default "18")
-+
-+
-+Name:   rpi-dac
-+Info:   Configures the RPi DAC audio card
-+Load:   dtoverlay=rpi-dac
-+Params: <None>
-+
-+
-+Name:   rpi-display
-+Info:   RPi-Display - 2.8" Touch Display by Watterott
-+Load:   dtoverlay=rpi-display,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        xohms                    Touchpanel sensitivity (X-plate resistance)
-+
-+
-+Name:   rpi-proto
-+Info:   Configures the RPi Proto audio card
-+Load:   dtoverlay=rpi-proto
-+Params: <None>
-+
-+
-+Name:   sdhost
-+Info:   Selects the bcm2835-sdhost SD/MMC driver, optionally with overclock
-+Load:   dtoverlay=sdhost,<param>=<val>
-+Params: overclock_50             Clock (in MHz) to use when the MMC framework
-+                                 requests 50MHz
-+
-+        force_pio                Disable DMA support (default off)
-+
-+        pio_limit                Number of blocks above which to use DMA
-+                                 (default 2)
-+
-+        debug                    Enable debug output (default off)
-+
-+
-+Name:   spi-bcm2708
-+Info:   Selects the bcm2708-spi SPI driver
-+Load:   dtoverlay=spi-bcm2708
-+Params: <None>
-+
-+
-+Name:   spi-bcm2835
-+Info:   Selects the bcm2835-spi SPI driver
-+Load:   dtoverlay=spi-bcm2835
-+Params: <None>
-+
-+
-+Name:   tinylcd35
-+Info:   3.5" Color TFT Display by www.tinylcd.com
-+        Options: Touch, RTC, keypad
-+Load:   dtoverlay=tinylcd35,<param>=<val>
-+Params: speed                    Display SPI bus speed
-+
-+        rotate                   Display rotation {0,90,180,270}
-+
-+        fps                      Delay between frame updates
-+
-+        debug                    Debug output level {0-7}
-+
-+        touch                    Enable touch panel
-+
-+        touchgpio                Touch controller IRQ GPIO
-+
-+        xohms                    Touchpanel: Resistance of X-plate in ohms
-+
-+        rtc-pcf                  PCF8563 Real Time Clock
-+
-+        rtc-ds                   DS1307 Real Time Clock
-+
-+        keypad                   Enable keypad
-+
-+        Examples:
-+            Display with touchpanel, PCF8563 RTC and keypad:
-+                dtoverlay=tinylcd35,touch,rtc-pcf,keypad
-+            Old touch display:
-+                dtoverlay=tinylcd35,touch,touchgpio=3
-+
-+
-+Name:   w1-gpio
-+Info:   Configures the w1-gpio Onewire interface module.
-+        Use this overlay if you *don't* need a GPIO to drive an external pullup.
-+Load:   dtoverlay=w1-gpio,<param>=<val>
-+Params: gpiopin                  GPIO for I/O (default "4")
-+
-+        pullup                   Non-zero, "on", or "y" to enable the parasitic
-+                                 power (2-wire, power-on-data) feature
-+
-+
-+Name:   w1-gpio-pullup
-+Info:   Configures the w1-gpio Onewire interface module.
-+        Use this overlay if you *do* need a GPIO to drive an external pullup.
-+Load:   dtoverlay=w1-gpio-pullup,<param>=<val>,...
-+Params: gpiopin                  GPIO for I/O (default "4")
-+
-+        pullup                   Non-zero, "on", or "y" to enable the parasitic
-+                                 power (2-wire, power-on-data) feature
-+
-+        extpullup                GPIO for external pullup (default "5")
-+
-+
-+Troubleshooting
-+===============
-+
-+If you are experiencing problems that you think are DT-related, enable DT
-+diagnostic output by adding this to /boot/config.txt:
-+
-+    dtdebug=on
-+
-+and rebooting. Then run:
-+
-+    sudo vcdbg log msg
-+
-+and look for relevant messages.
-+
-+Further reading
-+===============
-+
-+This is only meant to be a quick introduction to the subject of Device Tree on
-+Raspberry Pi. There is a more complete explanation here:
-+
-+http://www.raspberrypi.org/documentation/configuration/device-tree.md
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/ads7846-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/ads7846-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/ads7846-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/ads7846-overlay.dts	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,83 @@
-+/*
-+ * Generic Device Tree overlay for the ADS7846 touch controller
-+ *
-+ */
-+
-+/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__ {
-+			ads7846_pins: ads7846_pins {
-+				brcm,pins = <255>; /* illegal default value */
-+				brcm,function = <0>; /* in */
-+				brcm,pull = <0>; /* none */
-+			};
-+		};
-+	};
-+
-+	fragment@2 {
-+		target = <&spi0>;
-+		__overlay__ {
-+			/* needed to avoid dtc warning */
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+
-+			ads7846: ads7846@1 {
-+				compatible = "ti,ads7846";
-+				reg = <1>;
-+				pinctrl-names = "default";
-+				pinctrl-0 = <&ads7846_pins>;
-+
-+				spi-max-frequency = <2000000>;
-+				interrupts = <255 2>; /* high-to-low edge triggered */
-+				interrupt-parent = <&gpio>;
-+				pendown-gpio = <&gpio 255 0>;
-+
-+				/* driver defaults */
-+				ti,x-min = /bits/ 16 <0>;
-+				ti,y-min = /bits/ 16 <0>;
-+				ti,x-max = /bits/ 16 <0x0FFF>;
-+				ti,y-max = /bits/ 16 <0x0FFF>;
-+				ti,pressure-min = /bits/ 16 <0>;
-+				ti,pressure-max = /bits/ 16 <0xFFFF>;
-+				ti,x-plate-ohms = /bits/ 16 <400>;
-+			};
-+		};
-+	};
-+	__overrides__ {
-+		cs =     <&ads7846>,"reg:0";
-+		speed =  <&ads7846>,"spi-max-frequency:0";
-+		penirq = <&ads7846_pins>,"brcm,pins:0", /* REQUIRED */
-+			 <&ads7846>,"interrupts:0",
-+			 <&ads7846>,"pendown-gpio:4";
-+		penirq_pull = <&ads7846_pins>,"brcm,pull:0";
-+		swapxy = <&ads7846>,"ti,swap-xy?";
-+		xmin =   <&ads7846>,"ti,x-min;0";
-+		ymin =   <&ads7846>,"ti,y-min;0";
-+		xmax =   <&ads7846>,"ti,x-max;0";
-+		ymax =   <&ads7846>,"ti,y-max;0";
-+		pmin =   <&ads7846>,"ti,pressure-min;0";
-+		pmax =   <&ads7846>,"ti,pressure-max;0";
-+		xohms =  <&ads7846>,"ti,x-plate-ohms;0";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,23 @@
-+// Definitions for BMP085/BMP180 digital barometric pressure and temperature sensors from Bosch Sensortec
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+        compatible = "brcm,bcm2708";
-+
-+        fragment@0 {
-+                target = <&i2c1>;
-+                __overlay__ {
-+                        #address-cells = <1>;
-+                        #size-cells = <0>;
-+                        status = "okay";
-+
-+                        bmp085@77 {
-+                                compatible = "bosch,bmp085";
-+                                reg = <0x77>;
-+                                default-oversampling = <3>;
-+                                status = "okay";
-+                        };
-+                };
-+        };
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/dht11-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/dht11-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/dht11-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/dht11-overlay.dts	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,39 @@
-+/*
-+ * Overlay for the DHT11/21/22 humidity/temperature sensor modules.
-+ */
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target-path = "/";
-+		__overlay__ {
-+
-+			dht11: dht11@0 {
-+				compatible = "dht11";
-+				pinctrl-names = "default";
-+				pinctrl-0 = <&dht11_pins>;
-+				gpios = <&gpio 4 0>;
-+				status = "okay";
-+			};
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&gpio>;
-+		__overlay__ {
-+			dht11_pins: dht11_pins {
-+				brcm,pins = <4>;
-+				brcm,function = <0>; // in
-+				brcm,pull = <0>; // off
-+			};
-+		};
-+	};
-+
-+	__overrides__ {
-+		gpiopin = <&dht11_pins>,"brcm,pins:0",
-+			<&dht11>,"gpios:4";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/enc28j60-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/enc28j60-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/enc28j60-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/enc28j60-overlay.dts	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,50 @@
-+// Overlay for the Microchip ENC28J60 Ethernet Controller
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target = <&spi0>;
-+		__overlay__ {
-+			/* needed to avoid dtc warning */
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+
-+			status = "okay";
-+
-+			spidev@0{
-+				status = "disabled";
-+			};
-+
-+			eth1: enc28j60@0{
-+				compatible = "microchip,enc28j60";
-+				reg = <0>; /* CE0 */
-+				pinctrl-names = "default";
-+				pinctrl-0 = <&eth1_pins>;
-+				interrupt-parent = <&gpio>;
-+				interrupts = <25 0x2>; /* falling edge */
-+				spi-max-frequency = <12000000>;
-+				status = "okay";
-+			};
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&gpio>;
-+		__overlay__ {
-+			eth1_pins: eth1_pins {
-+				brcm,pins = <25>;
-+				brcm,function = <0>; /* in */
-+				brcm,pull = <0>; /* none */
-+			};
-+		};
-+	};
-+
-+	__overrides__ {
-+		int_pin = <&eth1>, "interrupts:0",
-+		          <&eth1_pins>, "brcm,pins:0";
-+		speed   = <&eth1>, "spi-max-frequency:0";
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts	2015-06-23 13:23:30.814045874 +0200
-@@ -0,0 +1,39 @@
-+// Definitions for HiFiBerry Amp/Amp+
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target = <&sound>;
-+		__overlay__ {
-+			compatible = "hifiberry,hifiberry-amp";
-+			i2s-controller = <&i2s>;
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&i2s>;
-+		__overlay__ {
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@2 {
-+		target = <&i2c1>;
-+		__overlay__ {
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "okay";
-+
-+			tas5713@1b {
-+				#sound-dai-cells = <0>;
-+				compatible = "ti,tas5713";
-+				reg = <0x1b>;
-+				status = "okay";
-+			};
-+		};
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts	2015-06-23 13:23:30.818045879 +0200
-@@ -0,0 +1,34 @@
-+// Definitions for HiFiBerry DAC
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target = <&sound>;
-+		__overlay__ {
-+			compatible = "hifiberry,hifiberry-dac";
-+			i2s-controller = <&i2s>;
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&i2s>;
-+		__overlay__ {
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@2 {
-+		target-path = "/";
-+		__overlay__ {
-+			pcm5102a-codec {
-+				#sound-dai-cells = <0>;
-+				compatible = "ti,pcm5102a";
-+				status = "okay";
-+			};
-+		};
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts	2015-06-23 13:23:30.818045879 +0200
-@@ -0,0 +1,39 @@
-+// Definitions for HiFiBerry DAC+
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target = <&sound>;
-+		__overlay__ {
-+			compatible = "hifiberry,hifiberry-dacplus";
-+			i2s-controller = <&i2s>;
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&i2s>;
-+		__overlay__ {
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@2 {
-+		target = <&i2c1>;
-+		__overlay__ {
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+			status = "okay";
-+
-+			pcm5122@4d {
-+				#sound-dai-cells = <0>;
-+				compatible = "ti,pcm5122";
-+				reg = <0x4d>;
-+				status = "okay";
-+			};
-+		};
-+	};
-+};
-diff -Nur linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts
---- linux-4.0.5/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts	1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.0-rpi/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts	2015-06-23 13:23:30.818045879 +0200
-@@ -0,0 +1,39 @@
-+// Definitions for HiFiBerry Digi
-+/dts-v1/;
-+/plugin/;
-+
-+/ {
-+	compatible = "brcm,bcm2708";
-+
-+	fragment@0 {
-+		target = <&sound>;
-+		__overlay__ {
-+			compatible = "hifiberry,hifiberry-digi";
-+			i2s-controller = <&i2s>;
-+			status = "okay";
-+		};
-+	};
-+
-+	fragment@1 {
-+		target = <&i2s>;
-+