summaryrefslogtreecommitdiff
path: root/target/arm/bcm28xx
diff options
context:
space:
mode:
Diffstat (limited to 'target/arm/bcm28xx')
-rw-r--r--target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch337467
-rw-r--r--target/arm/bcm28xx/patches/4.4.14/0001-raspberry-pi-github.patch309475
2 files changed, 0 insertions, 646942 deletions
diff --git a/target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch b/target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch
deleted file mode 100644
index 6f9089b88..000000000
--- a/target/arm/bcm28xx/patches/4.1.26/0001-raspberry-pi-github.patch
+++ /dev/null
@@ -1,337467 +0,0 @@
-diff -Nur linux-4.1.23.orig/Documentation/ABI/stable/sysfs-driver-w1_ds28ea00 linux-4.1.23/Documentation/ABI/stable/sysfs-driver-w1_ds28ea00
---- linux-4.1.23.orig/Documentation/ABI/stable/sysfs-driver-w1_ds28ea00 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/ABI/stable/sysfs-driver-w1_ds28ea00 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,6 @@
-+What: /sys/bus/w1/devices/.../w1_seq
-+Date: Apr 2015
-+Contact: Matt Campbell <mattrcampbell@gmail.com>
-+Description: Support for the DS28EA00 chain sequence function
-+ see Documentation/w1/slaves/w1_therm for detailed information
-+Users: any user space application which wants to communicate with DS28EA00
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt linux-4.1.23/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/devicetree/bindings/clock/brcm,bcm2835-cprman.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,45 @@
-+Broadcom BCM2835 CPRMAN clocks
-+
-+This binding uses the common clock binding:
-+ Documentation/devicetree/bindings/clock/clock-bindings.txt
-+
-+The CPRMAN clock controller generates clocks in the audio power domain
-+of the BCM2835. There is a level of PLLs deriving from an external
-+oscillator, a level of PLL dividers that produce channels off of the
-+few PLLs, and a level of mostly-generic clock generators sourcing from
-+the PLL channels. Most other hardware components source from the
-+clock generators, but a few (like the ARM or HDMI) will source from
-+the PLL dividers directly.
-+
-+Required properties:
-+- compatible: Should be "brcm,bcm2835-cprman"
-+- #clock-cells: Should be <1>. The permitted clock-specifier values can be
-+ found in include/dt-bindings/clock/bcm2835.h
-+- reg: Specifies base physical address and size of the registers
-+- clocks: The external oscillator clock phandle
-+
-+Example:
-+
-+ clk_osc: clock@3 {
-+ compatible = "fixed-clock";
-+ reg = <3>;
-+ #clock-cells = <0>;
-+ clock-output-names = "osc";
-+ clock-frequency = <19200000>;
-+ };
-+
-+ clocks: cprman@7e101000 {
-+ compatible = "brcm,bcm2835-cprman";
-+ #clock-cells = <1>;
-+ reg = <0x7e101000 0x2000>;
-+ clocks = <&clk_osc>;
-+ };
-+
-+ i2c0: i2c@7e205000 {
-+ compatible = "brcm,bcm2835-i2c";
-+ reg = <0x7e205000 0x1000>;
-+ interrupts = <2 21>;
-+ clocks = <&clocks BCM2835_CLOCK_VPU>;
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt linux-4.1.23/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -48,8 +48,8 @@
-
- bcm2835_i2s: i2s@7e203000 {
- compatible = "brcm,bcm2835-i2s";
-- reg = < 0x7e203000 0x20>,
-- < 0x7e101098 0x02>;
-+ reg = < 0x7e203000 0x24>,
-+ < 0x7e101098 0x08>;
-
- dmas = <&dma 2>,
- <&dma 3>;
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/input/touchscreen/focaltech-ft6236.txt linux-4.1.23/Documentation/devicetree/bindings/input/touchscreen/focaltech-ft6236.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/input/touchscreen/focaltech-ft6236.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/devicetree/bindings/input/touchscreen/focaltech-ft6236.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,35 @@
-+* FocalTech FT6236 I2C touchscreen controller
-+
-+Required properties:
-+ - compatible : "focaltech,ft6236"
-+ - reg : I2C slave address of the chip (0x38)
-+ - interrupt-parent : a phandle pointing to the interrupt controller
-+ serving the interrupt for this chip
-+ - interrupts : interrupt specification for the touch controller
-+ interrupt
-+ - reset-gpios : GPIO specification for the RSTN input
-+ - touchscreen-size-x : horizontal resolution of touchscreen (in pixels)
-+ - touchscreen-size-y : vertical resolution of touchscreen (in pixels)
-+
-+Optional properties:
-+ - touchscreen-fuzz-x : horizontal noise value of the absolute input
-+ device (in pixels)
-+ - touchscreen-fuzz-y : vertical noise value of the absolute input
-+ device (in pixels)
-+ - touchscreen-inverted-x : X axis is inverted (boolean)
-+ - touchscreen-inverted-y : Y axis is inverted (boolean)
-+ - touchscreen-swapped-x-y: X and Y axis are swapped (boolean)
-+ Swapping is done after inverting the axis
-+
-+Example:
-+
-+ ft6x06@38 {
-+ compatible = "focaltech,ft6236";
-+ reg = <0x38>;
-+ interrupt-parent = <&gpio>;
-+ interrupts = <23 2>;
-+ touchscreen-size-x = <320>;
-+ touchscreen-size-y = <480>;
-+ touchscreen-inverted-x;
-+ touchscreen-swapped-x-y;
-+ };
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt linux-4.1.23/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,17 @@
-+* Broadcom BCM2835 SMI character device driver.
-+
-+SMI or secondary memory interface is a peripheral specific to certain Broadcom
-+SOCs, and is helpful for talking to things like parallel-interface displays
-+and NAND flashes (in fact, most things with a parallel register interface).
-+
-+This driver adds a character device which provides a user-space interface to
-+an instance of the SMI driver.
-+
-+Required properties:
-+- compatible: "brcm,bcm2835-smi-dev"
-+- smi_handle: a phandle to the smi node.
-+
-+Optional properties:
-+- None.
-+
-+
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt linux-4.1.23/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,48 @@
-+* Broadcom BCM2835 SMI driver.
-+
-+SMI or secondary memory interface is a peripheral specific to certain Broadcom
-+SOCs, and is helpful for talking to things like parallel-interface displays
-+and NAND flashes (in fact, most things with a parallel register interface).
-+
-+Required properties:
-+- compatible: "brcm,bcm2835-smi"
-+- reg: Should contain location and length of SMI registers and SMI clkman regs
-+- interrupts: *the* SMI interrupt.
-+- pinctrl-names: should be "default".
-+- pinctrl-0: the phandle of the gpio pin node.
-+- brcm,smi-clock-source: the clock source for clkman
-+- brcm,smi-clock-divisor: the integer clock divisor for clkman
-+- dmas: the dma controller phandle and the DREQ number (4 on a 2835)
-+- dma-names: the name used by the driver to request its channel.
-+ Should be "rx-tx".
-+
-+Optional properties:
-+- None.
-+
-+Examples:
-+
-+8 data pin configuration:
-+
-+smi: smi@7e600000 {
-+ compatible = "brcm,bcm2835-smi";
-+ reg = <0x7e600000 0x44>, <0x7e1010b0 0x8>;
-+ interrupts = <2 16>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&smi_pins>;
-+ brcm,smi-clock-source = <6>;
-+ brcm,smi-clock-divisor = <4>;
-+ dmas = <&dma 4>;
-+ dma-names = "rx-tx";
-+
-+ status = "okay";
-+};
-+
-+smi_pins: smi_pins {
-+ brcm,pins = <2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
-+ /* Alt 1: SMI */
-+ brcm,function = <5 5 5 5 5 5 5 5 5 5 5 5 5 5>;
-+ /* /CS, /WE and /OE are pulled high, as they are
-+ generally active low signals */
-+ brcm,pull = <2 2 2 2 2 2 0 0 0 0 0 0 0 0>;
-+};
-+
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt linux-4.1.23/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -0,0 +1,42 @@
-+* BCM2835 SMI NAND flash
-+
-+This driver is a shim between the BCM2835 SMI driver (SMI is a peripheral for
-+talking to parallel register interfaces) and Linux's MTD layer.
-+
-+Required properties:
-+- compatible: "brcm,bcm2835-smi-nand"
-+- status: "okay"
-+
-+Optional properties:
-+- partition@n, where n is an integer from a consecutive sequence starting at 0
-+ - Difficult to store partition table on NAND device - normally put it
-+ in the source code, kernel bootparams, or device tree (the best way!)
-+ - Sub-properties:
-+ - label: the partition name, as shown by mtdinfo /dev/mtd*
-+ - reg: the size and offset of this partition.
-+ - (optional) read-only: an empty property flagging as read only
-+
-+Example:
-+
-+nand: flash@0 {
-+ compatible = "brcm,bcm2835-smi-nand";
-+ status = "okay";
-+
-+ partition@0 {
-+ label = "stage2";
-+ // 128k
-+ reg = <0 0x20000>;
-+ read-only;
-+ };
-+ partition@1 {
-+ label = "firmware";
-+ // 16M
-+ reg = <0x20000 0x1000000>;
-+ read-only;
-+ };
-+ partition@2 {
-+ label = "root";
-+ // 2G
-+ reg = <0x1020000 0x80000000>;
-+ };
-+};
-\ No newline at end of file
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt linux-4.1.23/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -16,8 +16,8 @@
-
- bcm2835_i2s: i2s@7e203000 {
- compatible = "brcm,bcm2835-i2s";
-- reg = <0x7e203000 0x20>,
-- <0x7e101098 0x02>;
-+ reg = <0x7e203000 0x24>,
-+ <0x7e101098 0x08>;
-
- dmas = <&dma 2>,
- <&dma 3>;
-diff -Nur linux-4.1.23.orig/Documentation/devicetree/bindings/vendor-prefixes.txt linux-4.1.23/Documentation/devicetree/bindings/vendor-prefixes.txt
---- linux-4.1.23.orig/Documentation/devicetree/bindings/vendor-prefixes.txt 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/Documentation/devicetree/bindings/vendor-prefixes.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -76,6 +76,7 @@
- excito Excito
- fcs Fairchild Semiconductor
- firefly Firefly
-+focaltech FocalTech Systems Co.,Ltd
- fsl Freescale Semiconductor
- GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
- gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
-diff -Nur linux-4.1.23.orig/Documentation/filesystems/efivarfs.txt linux-4.1.23/Documentation/filesystems/efivarfs.txt
---- linux-4.1.23.orig/Documentation/filesystems/efivarfs.txt 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/Documentation/filesystems/efivarfs.txt 2016-05-02 22:53:49.000000000 +0200
-@@ -14,10 +14,3 @@
- efivarfs is typically mounted like this,
-
- mount -t efivarfs none /sys/firmware/efi/efivars
--
--Due to the presence of numerous firmware bugs where removing non-standard
--UEFI variables causes the system firmware to fail to POST, efivarfs
--files that are not well-known standardized variables are created
--as immutable files. This doesn't prevent removal - "chattr -i" will work -
--but it does prevent this kind of failure from being accomplished
--accidentally.
-diff -Nur linux-4.1.23.orig/Documentation/video4linux/bcm2835-v4l2.txt linux-4.1.23/Documentation/video4linux/bcm2835-v4l2.txt
---- linux-4.1.23.orig/Documentation/video4linux/bcm2835-v4l2.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/Documentation/video4linux/bcm2835-v4l2.txt 2016-05-02 22:53:50.000000000 +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.1.23.orig/Documentation/w1/slaves/w1_therm linux-4.1.23/Documentation/w1/slaves/w1_therm
---- linux-4.1.23.orig/Documentation/w1/slaves/w1_therm 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/Documentation/w1/slaves/w1_therm 2016-05-02 22:53:50.000000000 +0200
-@@ -11,12 +11,14 @@
- Description
- -----------
-
--w1_therm provides basic temperature conversion for ds18*20 devices.
-+w1_therm provides basic temperature conversion for ds18*20 devices, and the
-+ds28ea00 device.
- supported family codes:
- W1_THERM_DS18S20 0x10
- W1_THERM_DS1822 0x22
- W1_THERM_DS18B20 0x28
- W1_THERM_DS1825 0x3B
-+W1_THERM_DS28EA00 0x42
-
- Support is provided through the sysfs w1_slave file. Each open and
- read sequence will initiate a temperature conversion then provide two
-@@ -48,3 +50,10 @@
- maximum current draw of 1.5mA and that a 5k pullup resistor is not
- sufficient. The strong pullup is designed to provide the additional
- current required.
-+
-+The DS28EA00 provides an additional two pins for implementing a sequence
-+detection algorithm. This feature allows you to determine the physical
-+location of the chip in the 1-wire bus without needing pre-existing
-+knowledge of the bus ordering. Support is provided through the sysfs
-+w1_seq file. The file will contain a single line with an integer value
-+representing the device index in the bus starting at 0.
-diff -Nur linux-4.1.23.orig/MAINTAINERS linux-4.1.23/MAINTAINERS
---- linux-4.1.23.orig/MAINTAINERS 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/MAINTAINERS 2016-05-02 22:53:50.000000000 +0200
-@@ -9533,11 +9533,9 @@
- F: drivers/net/ethernet/dlink/sundance.c
-
- SUPERH
--M: Yoshinori Sato <ysato@users.sourceforge.jp>
--M: Rich Felker <dalias@libc.org>
- L: linux-sh@vger.kernel.org
- Q: http://patchwork.kernel.org/project/linux-sh/list/
--S: Maintained
-+S: Orphan
- F: Documentation/sh/
- F: arch/sh/
- F: drivers/sh/
-diff -Nur linux-4.1.23.orig/arch/arm/Kconfig linux-4.1.23/arch/arm/Kconfig
---- linux-4.1.23.orig/arch/arm/Kconfig 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/arch/arm/Kconfig 2016-05-02 22:53:50.000000000 +0200
-@@ -314,6 +314,42 @@
- default ARCH_VERSATILE if !MMU
- default ARCH_MULTIPLATFORM if MMU
-
-+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_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
-+ help
-+ This enables support for Broadcom BCM2709 boards.
-+
- config ARCH_MULTIPLATFORM
- bool "Allow multiple platforms to be selected"
- depends on MMU
-@@ -824,6 +860,9 @@
- # Kconfigs may be included either alphabetically (according to the
- # plat- suffix) or along side the corresponding mach-* source.
- #
-+source "arch/arm/mach-bcm2708/Kconfig"
-+source "arch/arm/mach-bcm2709/Kconfig"
-+
- source "arch/arm/mach-mvebu/Kconfig"
-
- source "arch/arm/mach-alpine/Kconfig"
-@@ -1717,7 +1756,7 @@
-
- config UACCESS_WITH_MEMCPY
- bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()"
-- depends on MMU
-+ depends on MMU && !CPU_SW_DOMAIN_PAN
- default y if CPU_FEROCEON
- help
- Implement faster copy_to_user and clear_user methods for CPU
-diff -Nur linux-4.1.23.orig/arch/arm/Kconfig.debug linux-4.1.23/arch/arm/Kconfig.debug
---- linux-4.1.23.orig/arch/arm/Kconfig.debug 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/arch/arm/Kconfig.debug 2016-05-02 22:53:50.000000000 +0200
-@@ -1196,6 +1196,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.1.23.orig/arch/arm/Makefile linux-4.1.23/arch/arm/Makefile
---- linux-4.1.23.orig/arch/arm/Makefile 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/arch/arm/Makefile 2016-05-02 22:53:50.000000000 +0200
-@@ -150,6 +150,8 @@
-
- # Machine directory name. This list is sorted alphanumerically
- # by CONFIG_* macro name.
-+machine-$(CONFIG_ARCH_BCM2708) += bcm2708
-+machine-$(CONFIG_ARCH_BCM2709) += bcm2709
- machine-$(CONFIG_ARCH_ALPINE) += alpine
- machine-$(CONFIG_ARCH_AT91) += at91
- machine-$(CONFIG_ARCH_AXXIA) += axxia
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/Makefile linux-4.1.23/arch/arm/boot/dts/Makefile
---- linux-4.1.23.orig/arch/arm/boot/dts/Makefile 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/arch/arm/boot/dts/Makefile 2016-05-02 22:53:50.000000000 +0200
-@@ -1,5 +1,25 @@
- 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
-+dtb-$(CONFIG_BCM2709_DT) += bcm2710-rpi-3-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
-+ifeq ($(RPI_DT_OVERLAYS),y)
-+ dts-dirs += overlays
-+endif
-+
- dtb-$(CONFIG_ARCH_ALPINE) += \
- alpine-db.dtb
- dtb-$(CONFIG_MACH_ASM9260) += \
-@@ -660,7 +680,17 @@
- mt6592-evb.dtb \
- mt8127-moose.dtb \
- mt8135-evbp1.dtb
-+
-+targets += dtbs dtbs_install
-+targets += $(dtb-y)
-+
- endif
-
- always := $(dtb-y)
-+subdir-y := $(dts-dirs)
- clean-files := *.dtb
-+
-+# Enable fixups to support overlays on BCM2708 platforms
-+ifeq ($(RPI_DT_OVERLAYS),y)
-+ DTC_FLAGS ?= -@
-+endif
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/armada-375.dtsi linux-4.1.23/arch/arm/boot/dts/armada-375.dtsi
---- linux-4.1.23.orig/arch/arm/boot/dts/armada-375.dtsi 2016-04-25 17:57:36.000000000 +0200
-+++ linux-4.1.23/arch/arm/boot/dts/armada-375.dtsi 2016-05-02 22:53:50.000000000 +0200
-@@ -508,7 +508,7 @@
- };
-
- sata@a0000 {
-- compatible = "marvell,armada-370-sata";
-+ compatible = "marvell,orion-sata";
- reg = <0xa0000 0x5000>;
- interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&gateclk 14>, <&gateclk 20>;
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,144 @@
-+/dts-v1/;
-+
-+/include/ "bcm2708.dtsi"
-+
-+/ {
-+ compatible = "brcm,bcm2708";
-+ model = "Raspberry Pi Model B+";
-+};
-+
-+&gpio {
-+ sdhost_pins: sdhost_pins {
-+ brcm,pins = <48 49 50 51 52 53>;
-+ brcm,function = <4>; /* alt0 */
-+ };
-+
-+ 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 */
-+ };
-+};
-+
-+&sdhost {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdhost_pins>;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&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>;
-+};
-+
-+&random {
-+ status = "okay";
-+};
-+
-+&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";
-+ uart1 = <&uart1>,"status";
-+ 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";
-+ core_freq = <&clk_core>,"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";
-+ sd_overclock = <&sdhost>,"brcm,overclock-50:0";
-+ sd_force_pio = <&sdhost>,"brcm,force-pio?";
-+ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
-+ sd_debug = <&sdhost>,"brcm,debug";
-+ };
-+};
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-b.dts linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-b.dts
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-b.dts 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-b.dts 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,134 @@
-+/dts-v1/;
-+
-+/include/ "bcm2708.dtsi"
-+
-+/ {
-+ compatible = "brcm,bcm2708";
-+ model = "Raspberry Pi Model B";
-+};
-+
-+&gpio {
-+ sdhost_pins: sdhost_pins {
-+ brcm,pins = <48 49 50 51 52 53>;
-+ brcm,function = <4>; /* alt0 */
-+ };
-+
-+ 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 = <6>; /* alt2 */
-+ };
-+};
-+
-+&sdhost {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&sdhost_pins>;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&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>;
-+};
-+
-+&random {
-+ status = "okay";
-+};
-+
-+&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";
-+ uart1 = <&uart1>,"status";
-+ 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";
-+ core_freq = <&clk_core>,"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";
-+ sd_overclock = <&sdhost>,"brcm,overclock-50:0";
-+ sd_force_pio = <&sdhost>,"brcm,force-pio?";
-+ sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
-+ sd_debug = <&sdhost>,"brcm,debug";
-+ };
-+};
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-cm.dts linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-cm.dts
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-cm.dts 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-cm.dts 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,96 @@
-+/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>;
-+};
-+
-+&random {
-+ status = "okay";
-+};
-+
-+/ {
-+ __overrides__ {
-+ uart0 = <&uart0>,"status";
-+ uart0_clkrate = <&clk_uart0>,"clock-frequency:0";
-+ uart1 = <&uart1>,"status";
-+ 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.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,45 @@
-+/include/ "bcm2708.dtsi"
-+
-+&gpio {
-+ mmc_pins: mmc_pins {
-+ brcm,pins = <48 49 50 51 52 53>;
-+ brcm,function = <7>; /* alt3 */
-+ };
-+};
-+
-+&leds {
-+ act_led: act {
-+ label = "led0";
-+ linux,default-trigger = "mmc0";
-+ gpios = <&gpio 47 0>;
-+ };
-+};
-+
-+
-+&mmc {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc_pins>;
-+ non-removable;
-+ bus-width = <4>;
-+ status = "okay";
-+ brcm,overclock-50 = <0>;
-+};
-+
-+&fb {
-+ status = "okay";
-+};
-+
-+/ {
-+ __overrides__ {
-+ core_freq = <&clk_core>,"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";
-+ sd_overclock = <&mmc>,"brcm,overclock-50:0";
-+ };
-+};
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/bcm2708.dtsi linux-4.1.23/arch/arm/boot/dts/bcm2708.dtsi
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708.dtsi 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708.dtsi 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,25 @@
-+/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";
-+ };
-+
-+ gpiomem {
-+ compatible = "brcm,bcm2835-gpiomem";
-+ reg = <0x7e200000 0x1000>;
-+ status = "okay";
-+ };
-+ };
-+};
-diff -Nur linux-4.1.23.orig/arch/arm/boot/dts/bcm2708_common.dtsi linux-4.1.23/arch/arm/boot/dts/bcm2708_common.dtsi
---- linux-4.1.23.orig/arch/arm/boot/dts/bcm2708_common.dtsi 1970-01-01 01:00:00.000000000 +0100
-+++ linux-4.1.23/arch/arm/boot/dts/bcm2708_common.dtsi 2016-05-02 22:53:50.000000000 +0200
-@@ -0,0 +1,347 @@
-+/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;
-+ sdhost = &sdhost;
-+ 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>;
-+
-+ #dma-cells = <1>;
-+ brcm,dma-channel-mask = <0x0f35>;
-+ };
-+
-+ intc: interrupt-controller@7e00b200 {
-+ compatible = "brcm,bcm2708-armctrl-ic";
-+ reg = <0x7e00b200 0x200>;
-+ interrupt-controller;
-+ #interrupt-cells = <2>;
-+ };
-+
-+ mailbox: mailbox@7e00b800 {
-+ compatible = "brcm,bcm2835-mbox";
-+ reg = <0x7e00b880 0x40>;
-+ interrupts = <0 1>;
-+ #mbox-cells = <0>;
-+ };
-+
-+ watchdog: watchdog@7e100000 {
-+ compatible = "brcm,bcm2835-pm-wdt";
-+ reg = <0x7e100000 0x28>;
-+ status = "disabled";
-+ };
-+
-+ cprman: cprman@7e101000 {
-+ compatible = "brcm,bcm2835-cprman";
-+ #clock-cells = <1>;
-+ reg = <0x7e101000 0x2000>;
-+
-+ /* CPRMAN derives everything from the platform's
-+ * oscillator.
-+ */
-+ clocks = <&clk_osc>;
-+ status = "disabled";
-+ };
-+