summaryrefslogtreecommitdiff
path: root/target/arm/bcm28xx
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-08-02 21:18:16 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2015-08-02 21:18:39 +0200
commitf20cc753998dfb4e273a7f12c7e05fd5bab7eaef (patch)
tree44657dd2c3db5b07ca9c160935c7ce99a9df32be /target/arm/bcm28xx
parent93ab3942cc01b4e42bffcbb6541ec57930f3e354 (diff)
remove non-lts kernel
Diffstat (limited to 'target/arm/bcm28xx')
-rw-r--r--target/arm/bcm28xx/patches/4.0.6/0001-raspberry-pi.patch128961
1 files changed, 0 insertions, 128961 deletions
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";
-+