From: Rafał Miłecki <ra...@milecki.pl>

This gets us in sync with dts from kernel 4.11. Two patches were already
backported earlier.
I decided to use 03x prefix as it's kind of similar to the 3xx prefix:
3xx - architecture specific patches
It isn't any documented or strict rule though. We don't need to stick to
it if we hit any problems.

Signed-off-by: Rafał Miłecki <ra...@milecki.pl>
---
 ...l-bcm2835-add-pull-defines-to-dt-bindings.patch |  44 +++
 ...283x-Define-standard-pinctrl-groups-in-th.patch | 235 ++++++++++++
 ...283x-add-pinctrl-group-to-pwm-drop-pins-f.patch |  33 ++
 ...283x-add-pinctrl-group-to-i2c0-drop-pins-.patch |  33 ++
 ...283x-add-pinctrl-group-to-i2c1-drop-pins-.patch |  32 ++
 ...283x-add-pinctrl-group-to-sdhci-drop-pins.patch |  33 ++
 ...-0006-ARM-dts-bcm283x-drop-alt3-from-gpio.patch | 112 ++++++
 ...-dts-add-thermal-node-to-device-tree-of-b.patch |  67 ++++
 ...-Add-names-for-the-Raspberry-Pi-GPIO-line.patch | 414 +++++++++++++++++++++
 ...-Fix-names-for-the-Raspberry-Pi-GPIO-line.patch |  93 +++++
 ...835-Add-names-for-the-RPi-Zero-GPIO-lines.patch |  91 +++++
 ...dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch} |   5 +-
 ...83x-Enable-the-VEC-IP-on-all-RaspberryPi.patch} |   9 +-
 ...2835-Set-base-to-0-give-expected-gpio-num.patch |   2 +-
 ...2835-Fix-interrupt-handling-for-GPIOs-28-.patch |  14 +-
 ...2835-Only-request-the-interrupts-listed-i.patch |   2 +-
 ...-bcm2835-Return-pins-to-inputs-when-freed.patch |   4 +-
 ...0054-BCM2708-Add-core-Device-Tree-support.patch |   2 +-
 ...26-spi-bcm2835-Disable-forced-software-CS.patch |   2 +-
 ...35-dt-Add-the-DSI-module-nodes-and-clocks.patch |  10 +-
 20 files changed, 1211 insertions(+), 26 deletions(-)
 create mode 100644 
target/linux/brcm2708/patches-4.9/030-pinctrl-bcm2835-add-pull-defines-to-dt-bindings.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0001-ARM-dts-bcm283x-Define-standard-pinctrl-groups-in-th.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0002-ARM-dts-bcm283x-add-pinctrl-group-to-pwm-drop-pins-f.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0003-ARM-dts-bcm283x-add-pinctrl-group-to-i2c0-drop-pins-.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0004-ARM-dts-bcm283x-add-pinctrl-group-to-i2c1-drop-pins-.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0005-ARM-dts-bcm283x-add-pinctrl-group-to-sdhci-drop-pins.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0006-ARM-dts-bcm283x-drop-alt3-from-gpio.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0008-ARM-bcm2835-dts-add-thermal-node-to-device-tree-of-b.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0010-ARM-bcm2835-Fix-names-for-the-Raspberry-Pi-GPIO-line.patch
 create mode 100644 
target/linux/brcm2708/patches-4.9/031-v4.10-0011-ARM-bcm2835-Add-names-for-the-RPi-Zero-GPIO-lines.patch
 rename 
target/linux/brcm2708/patches-4.9/{999-0174-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
 => 032-v4.11-0001-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch} (84%)
 rename 
target/linux/brcm2708/patches-4.9/{999-0175-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
 => 032-v4.11-0002-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch} 
(73%)

diff --git 
a/target/linux/brcm2708/patches-4.9/030-pinctrl-bcm2835-add-pull-defines-to-dt-bindings.patch
 
b/target/linux/brcm2708/patches-4.9/030-pinctrl-bcm2835-add-pull-defines-to-dt-bindings.patch
new file mode 100644
index 0000000000..e300cf6a37
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/030-pinctrl-bcm2835-add-pull-defines-to-dt-bindings.patch
@@ -0,0 +1,44 @@
+From 396a3529800af0817c6af2eb65c542588a1f7fb7 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:17 +0200
+Subject: [PATCH] pinctrl: bcm2835: add pull defines to dt bindings
+
+Also delete (unused) private enum from driver.
+The pull defines can be used instead if needed.
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Linus Walleij <linus.wall...@linaro.org>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ drivers/pinctrl/bcm/pinctrl-bcm2835.c | 6 ------
+ include/dt-bindings/pinctrl/bcm2835.h | 5 +++++
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
++++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+@@ -76,12 +76,6 @@ enum bcm2835_pinconf_param {
+       BCM2835_PINCONF_PARAM_PULL,
+ };
+ 
+-enum bcm2835_pinconf_pull {
+-      BCM2835_PINCONFIG_PULL_NONE,
+-      BCM2835_PINCONFIG_PULL_DOWN,
+-      BCM2835_PINCONFIG_PULL_UP,
+-};
+-
+ #define BCM2835_PINCONF_PACK(_param_, _arg_) ((_param_) << 16 | (_arg_))
+ #define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16)
+ #define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff)
+--- a/include/dt-bindings/pinctrl/bcm2835.h
++++ b/include/dt-bindings/pinctrl/bcm2835.h
+@@ -24,4 +24,9 @@
+ #define BCM2835_FSEL_ALT2     6
+ #define BCM2835_FSEL_ALT3     7
+ 
++/* brcm,pull property */
++#define BCM2835_PUD_OFF               0
++#define BCM2835_PUD_DOWN      1
++#define BCM2835_PUD_UP                2
++
+ #endif /* __DT_BINDINGS_PINCTRL_BCM2835_H__ */
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0001-ARM-dts-bcm283x-Define-standard-pinctrl-groups-in-th.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0001-ARM-dts-bcm283x-Define-standard-pinctrl-groups-in-th.patch
new file mode 100644
index 0000000000..6173d943d2
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0001-ARM-dts-bcm283x-Define-standard-pinctrl-groups-in-th.patch
@@ -0,0 +1,235 @@
+From 21ff843931b2e5a9b628ac56fd0f2e4355890096 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <e...@anholt.net>
+Date: Mon, 19 Sep 2016 10:43:18 +0200
+Subject: [PATCH] ARM: dts: bcm283x: Define standard pinctrl groups in the gpio
+ node.
+
+The BCM2835-ARM-Peripherals.pdf documentation specifies what the
+function selects do for the pins, and there are a bunch of obvious
+groupings to be made.  With these created, we'll be able to replace
+bcm2835-rpi.dtsi's main "set all of these pins to alt0" with
+references to specific groups we want enabled.
+
+Also add pinctrl groups for emmc and sdhost.
+
+Based on patches by Eric Anholt, with fixups by Gerd Hoffmann.
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ arch/arm/boot/dts/bcm283x.dtsi | 203 +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 203 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -132,6 +132,209 @@
+ 
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
++
++                      /* Defines pin muxing groups according to
++                       * BCM2835-ARM-Peripherals.pdf page 102.
++                       *
++                       * While each pin can have its mux selected
++                       * for various functions individually, some
++                       * groups only make sense to switch to a
++                       * particular function together.
++                       */
++                      dpi_gpio0: dpi_gpio0 {
++                              brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
++                                           12 13 14 15 16 17 18 19
++                                           20 21 22 23 24 25 26 27>;
++                              brcm,function = <BCM2835_FSEL_ALT2>;
++                      };
++                      emmc_gpio22: emmc_gpio22 {
++                              brcm,pins = <22 23 24 25 26 27>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++                      emmc_gpio34: emmc_gpio34 {
++                              brcm,pins = <34 35 36 37 38 39>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                              brcm,pull = <BCM2835_PUD_OFF
++                                           BCM2835_PUD_UP
++                                           BCM2835_PUD_UP
++                                           BCM2835_PUD_UP
++                                           BCM2835_PUD_UP
++                                           BCM2835_PUD_UP>;
++                      };
++                      emmc_gpio48: emmc_gpio48 {
++                              brcm,pins = <48 49 50 51 52 53>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++
++                      gpclk0_gpio4: gpclk0_gpio4 {
++                              brcm,pins = <4>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      gpclk1_gpio5: gpclk1_gpio5 {
++                              brcm,pins = <5>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      gpclk1_gpio42: gpclk1_gpio42 {
++                              brcm,pins = <42>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      gpclk1_gpio44: gpclk1_gpio44 {
++                              brcm,pins = <44>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      gpclk2_gpio6: gpclk2_gpio6 {
++                              brcm,pins = <6>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      gpclk2_gpio43: gpclk2_gpio43 {
++                              brcm,pins = <43>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++
++                      i2c0_gpio0: i2c0_gpio0 {
++                              brcm,pins = <0 1>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      i2c0_gpio32: i2c0_gpio32 {
++                              brcm,pins = <32 34>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      i2c0_gpio44: i2c0_gpio44 {
++                              brcm,pins = <44 45>;
++                              brcm,function = <BCM2835_FSEL_ALT1>;
++                      };
++                      i2c1_gpio2: i2c1_gpio2 {
++                              brcm,pins = <2 3>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      i2c1_gpio44: i2c1_gpio44 {
++                              brcm,pins = <44 45>;
++                              brcm,function = <BCM2835_FSEL_ALT2>;
++                      };
++                      i2c_slave_gpio18: i2c_slave_gpio18 {
++                              brcm,pins = <18 19 20 21>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++
++                      jtag_gpio4: jtag_gpio4 {
++                              brcm,pins = <4 5 6 12 13>;
++                              brcm,function = <BCM2835_FSEL_ALT4>;
++                      };
++                      jtag_gpio22: jtag_gpio22 {
++                              brcm,pins = <22 23 24 25 26 27>;
++                              brcm,function = <BCM2835_FSEL_ALT4>;
++                      };
++
++                      pcm_gpio18: pcm_gpio18 {
++                              brcm,pins = <18 19 20 21>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      pcm_gpio28: pcm_gpio28 {
++                              brcm,pins = <28 29 30 31>;
++                              brcm,function = <BCM2835_FSEL_ALT2>;
++                      };
++
++                      pwm0_gpio12: pwm0_gpio12 {
++                              brcm,pins = <12>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      pwm0_gpio18: pwm0_gpio18 {
++                              brcm,pins = <18>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      pwm0_gpio40: pwm0_gpio40 {
++                              brcm,pins = <40>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      pwm1_gpio13: pwm1_gpio13 {
++                              brcm,pins = <13>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      pwm1_gpio19: pwm1_gpio19 {
++                              brcm,pins = <19>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      pwm1_gpio41: pwm1_gpio41 {
++                              brcm,pins = <41>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      pwm1_gpio45: pwm1_gpio45 {
++                              brcm,pins = <45>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++
++                      sdhost_gpio48: sdhost_gpio48 {
++                              brcm,pins = <48 49 50 51 52 53>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++
++                      spi0_gpio7: spi0_gpio7 {
++                              brcm,pins = <7 8 9 10 11>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      spi0_gpio35: spi0_gpio35 {
++                              brcm,pins = <35 36 37 38 39>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      spi1_gpio16: spi1_gpio16 {
++                              brcm,pins = <16 17 18 19 20 21>;
++                              brcm,function = <BCM2835_FSEL_ALT4>;
++                      };
++                      spi2_gpio40: spi2_gpio40 {
++                              brcm,pins = <40 41 42 43 44 45>;
++                              brcm,function = <BCM2835_FSEL_ALT4>;
++                      };
++
++                      uart0_gpio14: uart0_gpio14 {
++                              brcm,pins = <14 15>;
++                              brcm,function = <BCM2835_FSEL_ALT0>;
++                      };
++                      /* Separate from the uart0_gpio14 group
++                       * because it conflicts with spi1_gpio16, and
++                       * people often run uart0 on the two pins
++                       * without flow contrl.
++                       */
++                      uart0_ctsrts_gpio16: uart0_ctsrts_gpio16 {
++                              brcm,pins = <16 17>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++                      uart0_gpio30: uart0_gpio30 {
++                              brcm,pins = <30 31>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++                      uart0_ctsrts_gpio32: uart0_ctsrts_gpio32 {
++                              brcm,pins = <32 33>;
++                              brcm,function = <BCM2835_FSEL_ALT3>;
++                      };
++
++                      uart1_gpio14: uart1_gpio14 {
++                              brcm,pins = <14 15>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      uart1_ctsrts_gpio16: uart1_ctsrts_gpio16 {
++                              brcm,pins = <16 17>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      uart1_gpio32: uart1_gpio32 {
++                              brcm,pins = <32 33>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      uart1_ctsrts_gpio30: uart1_ctsrts_gpio30 {
++                              brcm,pins = <30 31>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      uart1_gpio36: uart1_gpio36 {
++                              brcm,pins = <36 37 38 39>;
++                              brcm,function = <BCM2835_FSEL_ALT2>;
++                      };
++                      uart1_gpio40: uart1_gpio40 {
++                              brcm,pins = <40 41>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
++                      uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
++                              brcm,pins = <42 43>;
++                              brcm,function = <BCM2835_FSEL_ALT5>;
++                      };
+               };
+ 
+               uart0: serial@7e201000 {
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0002-ARM-dts-bcm283x-add-pinctrl-group-to-pwm-drop-pins-f.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0002-ARM-dts-bcm283x-add-pinctrl-group-to-pwm-drop-pins-f.patch
new file mode 100644
index 0000000000..edff9e4145
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0002-ARM-dts-bcm283x-add-pinctrl-group-to-pwm-drop-pins-f.patch
@@ -0,0 +1,33 @@
+From 14e0ea34058ce13794877206f05a6ab5034e147b Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:19 +0200
+Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &pwm, drop pins from
+ &gpio
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -39,7 +39,7 @@
+       };
+ 
+       alt0: alt0 {
+-              brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15 40 45>;
++              brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15>;
+               brcm,function = <BCM2835_FSEL_ALT0>;
+       };
+ 
+@@ -69,6 +69,8 @@
+ };
+ 
+ &pwm {
++      pinctrl-names = "default";
++      pinctrl-0 = <&pwm0_gpio40 &pwm1_gpio45>;
+       status = "okay";
+ };
+ 
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0003-ARM-dts-bcm283x-add-pinctrl-group-to-i2c0-drop-pins-.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0003-ARM-dts-bcm283x-add-pinctrl-group-to-i2c0-drop-pins-.patch
new file mode 100644
index 0000000000..602faf1a9b
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0003-ARM-dts-bcm283x-add-pinctrl-group-to-i2c0-drop-pins-.patch
@@ -0,0 +1,33 @@
+From e6e199712008374edb4de979e74ae5acb1f40845 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:20 +0200
+Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &i2c0, drop pins from
+ &gpio
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -39,7 +39,7 @@
+       };
+ 
+       alt0: alt0 {
+-              brcm,pins = <0 1 2 3 4 5 7 8 9 10 11 14 15>;
++              brcm,pins = <2 3 4 5 7 8 9 10 11 14 15>;
+               brcm,function = <BCM2835_FSEL_ALT0>;
+       };
+ 
+@@ -50,6 +50,8 @@
+ };
+ 
+ &i2c0 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&i2c0_gpio0>;
+       status = "okay";
+       clock-frequency = <100000>;
+ };
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0004-ARM-dts-bcm283x-add-pinctrl-group-to-i2c1-drop-pins-.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0004-ARM-dts-bcm283x-add-pinctrl-group-to-i2c1-drop-pins-.patch
new file mode 100644
index 0000000000..ad883b157a
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0004-ARM-dts-bcm283x-add-pinctrl-group-to-i2c1-drop-pins-.patch
@@ -0,0 +1,32 @@
+From 4eb65cbfa721db9d7bbe2f76e8b1909fa0320273 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:21 +0200
+Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &i2c1, drop pins from
+ &gpio
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -39,7 +39,7 @@
+       };
+ 
+       alt0: alt0 {
+-              brcm,pins = <2 3 4 5 7 8 9 10 11 14 15>;
++              brcm,pins = <4 5 7 8 9 10 11 14 15>;
+               brcm,function = <BCM2835_FSEL_ALT0>;
+       };
+ 
+@@ -57,6 +57,8 @@
+ };
+ 
+ &i2c1 {
++      pinctrl-names = "default";
++      pinctrl-0 = <&i2c1_gpio2>;
+       status = "okay";
+       clock-frequency = <100000>;
+ };
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0005-ARM-dts-bcm283x-add-pinctrl-group-to-sdhci-drop-pins.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0005-ARM-dts-bcm283x-add-pinctrl-group-to-sdhci-drop-pins.patch
new file mode 100644
index 0000000000..b54c2b41a0
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0005-ARM-dts-bcm283x-add-pinctrl-group-to-sdhci-drop-pins.patch
@@ -0,0 +1,33 @@
+From f8bef3619bb219ed27dfe11cd20547e5b709650a Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:22 +0200
+Subject: [PATCH] ARM: dts: bcm283x: add pinctrl group to &sdhci, drop pins
+ from &gpio
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -44,7 +44,7 @@
+       };
+ 
+       alt3: alt3 {
+-              brcm,pins = <48 49 50 51 52 53>;
++              brcm,pins = <>;
+               brcm,function = <BCM2835_FSEL_ALT3>;
+       };
+ };
+@@ -68,6 +68,8 @@
+ };
+ 
+ &sdhci {
++      pinctrl-names = "default";
++      pinctrl-0 = <&emmc_gpio48>;
+       status = "okay";
+       bus-width = <4>;
+ };
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0006-ARM-dts-bcm283x-drop-alt3-from-gpio.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0006-ARM-dts-bcm283x-drop-alt3-from-gpio.patch
new file mode 100644
index 0000000000..26a75cfe93
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0006-ARM-dts-bcm283x-drop-alt3-from-gpio.patch
@@ -0,0 +1,112 @@
+From a6d962aeb22fbf73c023334bdf55dc45c9fd7dba Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kra...@redhat.com>
+Date: Mon, 19 Sep 2016 10:43:23 +0200
+Subject: [PATCH] ARM: dts: bcm283x: drop alt3 from &gpio
+
+As the alt3 group has no pins left drop it from &gpio.
+
+Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+---
+ arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-a.dts      | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-b.dts      | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-zero.dts   | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi.dtsi       | 5 -----
+ arch/arm/boot/dts/bcm2836-rpi-2-b.dts    | 2 +-
+ 8 files changed, 7 insertions(+), 12 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+@@ -22,7 +22,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+       i2s_alt0: i2s_alt0 {
+--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
+@@ -15,7 +15,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
+ 
+       /* I2S interface */
+       i2s_alt2: i2s_alt2 {
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+@@ -23,7 +23,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+       i2s_alt0: i2s_alt0 {
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+@@ -16,7 +16,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt2 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
+ 
+       /* I2S interface */
+       i2s_alt2: i2s_alt2 {
+--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
+@@ -16,7 +16,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &alt3>;
++      pinctrl-0 = <&gpioout &alt0>;
+ };
+ 
+ &hdmi {
+--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
+@@ -26,7 +26,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+       i2s_alt0: i2s_alt0 {
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -42,11 +42,6 @@
+               brcm,pins = <4 5 7 8 9 10 11 14 15>;
+               brcm,function = <BCM2835_FSEL_ALT0>;
+       };
+-
+-      alt3: alt3 {
+-              brcm,pins = <>;
+-              brcm,function = <BCM2835_FSEL_ALT3>;
+-      };
+ };
+ 
+ &i2c0 {
+--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+@@ -27,7 +27,7 @@
+ };
+ 
+ &gpio {
+-      pinctrl-0 = <&gpioout &alt0 &i2s_alt0 &alt3>;
++      pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+       i2s_alt0: i2s_alt0 {
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0008-ARM-bcm2835-dts-add-thermal-node-to-device-tree-of-b.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0008-ARM-bcm2835-dts-add-thermal-node-to-device-tree-of-b.patch
new file mode 100644
index 0000000000..4c541a7669
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0008-ARM-bcm2835-dts-add-thermal-node-to-device-tree-of-b.patch
@@ -0,0 +1,67 @@
+From 43bac4133f405b67857e4c985aecc44a57233bfe Mon Sep 17 00:00:00 2001
+From: Martin Sperl <ker...@martin.sperl.org>
+Date: Wed, 2 Nov 2016 10:18:23 +0000
+Subject: [PATCH] ARM: bcm2835: dts: add thermal node to device-tree of bcm283x
+
+Add the node for the thermal sensor of the bcm2835-soc
+to the device tree.
+
+Signed-off-by: Martin Sperl <ker...@martin.sperl.org>
+Reviewed-by: Eric Anholt <e...@anholt.net>
+Acked-by: Stefan Wahren <stefan.wah...@i2se.com>
+
+Changelog:
+V1 -> V5: generic settings is shared in bcm283x.dtsi, but disabled
+         moved the compatible string to the SOC specific dtsi
+            for arm and arm64
+V5 -> V6: fix remove 0x prefix from thermal@0x7e212000
+
+Note: there is no arm/boot/dts/bcm2837.dtsi as of now,
+      so the 32-bit rpi3 dt is not modified.
+Signed-off-by: Eric Anholt <e...@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835.dtsi | 6 ++++++
+ arch/arm/boot/dts/bcm2836.dtsi | 6 ++++++
+ arch/arm/boot/dts/bcm283x.dtsi | 7 +++++++
+ 3 files changed, 19 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm2835.dtsi
++++ b/arch/arm/boot/dts/bcm2835.dtsi
+@@ -23,3 +23,9 @@
+               };
+       };
+ };
++
++/* enable thermal sensor with the correct compatible property set */
++&thermal {
++      compatible = "brcm,bcm2835-thermal";
++      status = "okay";
++};
+--- a/arch/arm/boot/dts/bcm2836.dtsi
++++ b/arch/arm/boot/dts/bcm2836.dtsi
+@@ -76,3 +76,9 @@
+       interrupt-parent = <&local_intc>;
+       interrupts = <8>;
+ };
++
++/* enable thermal sensor with the correct compatible property set */
++&thermal {
++      compatible = "brcm,bcm2836-thermal";
++      status = "okay";
++};
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -390,6 +390,13 @@
+                       interrupts = <2 14>; /* pwa1 */
+               };
+ 
++              thermal: thermal@7e212000 {
++                      compatible = "brcm,bcm2835-thermal";
++                      reg = <0x7e212000 0x8>;
++                      clocks = <&clocks BCM2835_CLOCK_TSENS>;
++                      status = "disabled";
++              };
++
+               aux: aux@0x7e215000 {
+                       compatible = "brcm,bcm2835-aux";
+                       #clock-cells = <1>;
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
new file mode 100644
index 0000000000..da6c3b624d
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0009-ARM-bcm2835-Add-names-for-the-Raspberry-Pi-GPIO-line.patch
@@ -0,0 +1,414 @@
+From 731b26a6ac17f24057c559361c6d0cb7cb79baed Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.wall...@linaro.org>
+Date: Thu, 6 Oct 2016 13:15:02 +0200
+Subject: [PATCH] ARM: bcm2835: Add names for the Raspberry Pi GPIO lines
+
+The idea is to give useful names to GPIO lines that an implementer
+will be using from userspace, e.g. for maker type projects.  These are
+user-visible using tools/gpio/lsgpio.c
+
+v2: Major rewrite by anholt: Flatten each GPIO line to a line in the
+    file for better diffing, prefix all expansion header pins with
+    "P<number>" or "P5HEADER_P<number>" and drop the mostly-unused
+    GPIO_GEN<smallnumber> names in favor of GPIO<socgpionumber>, fix
+    extra '[]' on a couple of lines, fix locations of SD_CARD_DETECT,
+    CAM_GPIO and STATUS_LED, fix HDMI_HPD polarities, rewrite A+ using
+    unreleased schematics.
+
+v3: More changes by anholt: Drop P<number> / P5HEADER<number>
+    prefixes.  I had been skeptical about adding them, and was
+    convinced to drop them by Gottfried (who probably has more
+    experience with GPIOs in educational contexts than the rest of
+    us).  Also drop [] brackets for "is pinmuxed", which didn't seem
+    to clarify, and were ambiguous for things like the SPI_*-labeled
+    pins which may or may not actually be pinmuxed to SPI.
+
+v4: Rename B+'s SDA0/SCL0 to match the other boards, despite the
+    naming on its schematic.
+
+Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 65 +++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm2835-rpi-a.dts      | 67 ++++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 66 +++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 66 +++++++++++++++++++++++++++++++
+ arch/arm/boot/dts/bcm2835-rpi-b.dts      | 67 ++++++++++++++++++++++++++++++++
+ 5 files changed, 331 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+@@ -22,6 +22,71 @@
+ };
+ 
+ &gpio {
++      /*
++       * This is based on the unreleased schematic for the Model A+.
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "GPIO5",
++                        "GPIO6",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "GPIO12",
++                        "GPIO13",
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "GPIO16",
++                        "GPIO17",
++                        "GPIO18",
++                        "GPIO19",
++                        "GPIO20",
++                        "GPIO21",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "GPIO26",
++                        "GPIO27",
++                        "SDA0",
++                        "SCL0",
++                        "NC", /* GPIO30 */
++                        "NC", /* GPIO31 */
++                        "NC", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "PWR_LOW_N", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "PWM0_OUT", /* GPIO40 */
++                        "CAM_GPIO0", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "NC", /* GPIO44 */
++                        "PWM1_OUT", /* GPIO45 */
++                        "HDMI_HPD_N",
++                        "STATUS_LED",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
+@@ -15,6 +15,73 @@
+ };
+ 
+ &gpio {
++      /*
++       * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
++       * RPI00021 sheet 02
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "CAM_CLK",
++                        "LAN_RUN",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "NC", /* GPIO12 */
++                        "NC", /* GPIO13 */
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "STATUS_LED_N",
++                        "GPIO17",
++                        "GPIO18",
++                        "NC", /* GPIO19 */
++                        "NC", /* GPIO20 */
++                        "GPIO21",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "NC", /* GPIO26 */
++                        "CAM_GPIO",
++                        /* Binary number representing build/revision */
++                        "CONFIG0",
++                        "CONFIG1",
++                        "CONFIG2",
++                        "CONFIG3",
++                        "NC", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "NC", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "PWM0_OUT",
++                        "NC", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "NC", /* GPIO44 */
++                        "PWM1_OUT",
++                        "HDMI_HPD_P",
++                        "SD_CARD_DET",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
+ 
+       /* I2S interface */
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+@@ -23,6 +23,72 @@
+ };
+ 
+ &gpio {
++      /*
++       * Taken from Raspberry-Pi-B-Plus-V1.2-Schematics.pdf
++       * RPI-BPLUS sheet 1
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "GPIO5",
++                        "GPIO6",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "GPIO12",
++                        "GPIO13",
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "GPIO16",
++                        "GPIO17",
++                        "GPIO18",
++                        "GPIO19",
++                        "GPIO20",
++                        "GPIO21",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "GPIO26",
++                        "GPIO27",
++                        "SDA0",
++                        "SCL0",
++                        "NC", /* GPIO30 */
++                        "LAN_RUN", /* GPIO31 */
++                        "CAM_GPIO1", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "PWR_LOW_N", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "PWM0_OUT", /* GPIO40 */
++                        "CAM_GPIO0", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "ETHCLK", /* GPIO44 */
++                        "PWM1_OUT", /* GPIO45 */
++                        "HDMI_HPD_N",
++                        "STATUS_LED",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+@@ -16,6 +16,72 @@
+ };
+ 
+ &gpio {
++      /*
++       * Taken from Raspberry-Pi-Rev-2.0-Model-AB-Schematics.pdf
++       * RPI00022 sheet 02
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "CAM_CLK",
++                        "LAN_RUN",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "NC", /* GPIO12 */
++                        "NC", /* GPIO13 */
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "STATUS_LED_N",
++                        "GPIO17",
++                        "GPIO18",
++                        "NC", /* GPIO19 */
++                        "NC", /* GPIO20 */
++                        "CAM_GPIO",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "NC", /* GPIO26 */
++                        "GPIO27",
++                        "GPIO28",
++                        "GPIO29",
++                        "GPIO30",
++                        "GPIO31",
++                        "NC", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "NC", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "PWM0_OUT",
++                        "NC", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "NC", /* GPIO44 */
++                        "PWM1_OUT",
++                        "HDMI_HPD_P",
++                        "SD_CARD_DET",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0 &i2s_alt2>;
+ 
+       /* I2S interface */
+--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
+@@ -16,6 +16,73 @@
+ };
+ 
+ &gpio {
++      /*
++       * Taken from Raspberry-Pi-Rev-1.0-Model-AB-Schematics.pdf
++       * RPI00021 sheet 02
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "CAM_CLK",
++                        "LAN_RUN",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "NC", /* GPIO12 */
++                        "NC", /* GPIO13 */
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "STATUS_LED_N",
++                        "GPIO17",
++                        "GPIO18",
++                        "NC", /* GPIO19 */
++                        "NC", /* GPIO20 */
++                        "GPIO21",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "NC", /* GPIO26 */
++                        "CAM_GPIO",
++                        /* Binary number representing build/revision */
++                        "CONFIG0",
++                        "CONFIG1",
++                        "CONFIG2",
++                        "CONFIG3",
++                        "NC", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "NC", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "PWM0_OUT",
++                        "NC", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "NC", /* GPIO44 */
++                        "PWM1_OUT",
++                        "HDMI_HPD_P",
++                        "SD_CARD_DET",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0>;
+ };
+ 
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0010-ARM-bcm2835-Fix-names-for-the-Raspberry-Pi-GPIO-line.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0010-ARM-bcm2835-Fix-names-for-the-Raspberry-Pi-GPIO-line.patch
new file mode 100644
index 0000000000..83448f2394
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0010-ARM-bcm2835-Fix-names-for-the-Raspberry-Pi-GPIO-line.patch
@@ -0,0 +1,93 @@
+From 6b9170887e1b912b657dab4597f8b44ae4dbdf50 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wah...@i2se.com>
+Date: Wed, 16 Nov 2016 17:52:06 +0000
+Subject: [PATCH] ARM: bcm2835: Fix names for the Raspberry Pi GPIO lines
+
+There are some differences between the schematics and the official firmware
+DTS [1]. So based on these additional information the following has been
+changed:
+
+* use consistent "CAM_GPIO1" for camera LED
+* use consistent "CAM_GPIO0" for camera shutdown
+* add "USB_LIMIT" for USB current limit (0=600mA, 1=1200mA)
+
+[1] - https://github.com/raspberrypi/firmware/blob/master/extra/dt-blob.dts
+
+Signed-off-by: Stefan Wahren <stefan.wah...@i2se.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 4 ++--
+ arch/arm/boot/dts/bcm2835-rpi-a.dts      | 4 ++--
+ arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 2 +-
+ arch/arm/boot/dts/bcm2835-rpi-b.dts      | 4 ++--
+ 4 files changed, 7 insertions(+), 7 deletions(-)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+@@ -63,13 +63,13 @@
+                         "SCL0",
+                         "NC", /* GPIO30 */
+                         "NC", /* GPIO31 */
+-                        "NC", /* GPIO32 */
++                        "CAM_GPIO1", /* GPIO32 */
+                         "NC", /* GPIO33 */
+                         "NC", /* GPIO34 */
+                         "PWR_LOW_N", /* GPIO35 */
+                         "NC", /* GPIO36 */
+                         "NC", /* GPIO37 */
+-                        "NC", /* GPIO38 */
++                        "USB_LIMIT", /* GPIO38 */
+                         "NC", /* GPIO39 */
+                         "PWM0_OUT", /* GPIO40 */
+                         "CAM_GPIO0", /* GPIO41 */
+--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
+@@ -29,7 +29,7 @@
+                         "SDA1",
+                         "SCL1",
+                         "GPIO_GCLK",
+-                        "CAM_CLK",
++                        "CAM_GPIO1",
+                         "LAN_RUN",
+                         "SPI_CE1_N",
+                         "SPI_CE0_N",
+@@ -52,7 +52,7 @@
+                         "GPIO24",
+                         "GPIO25",
+                         "NC", /* GPIO26 */
+-                        "CAM_GPIO",
++                        "CAM_GPIO0",
+                         /* Binary number representing build/revision */
+                         "CONFIG0",
+                         "CONFIG1",
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+@@ -71,7 +71,7 @@
+                         "PWR_LOW_N", /* GPIO35 */
+                         "NC", /* GPIO36 */
+                         "NC", /* GPIO37 */
+-                        "NC", /* GPIO38 */
++                        "USB_LIMIT", /* GPIO38 */
+                         "NC", /* GPIO39 */
+                         "PWM0_OUT", /* GPIO40 */
+                         "CAM_GPIO0", /* GPIO41 */
+--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
+@@ -30,7 +30,7 @@
+                         "SDA1",
+                         "SCL1",
+                         "GPIO_GCLK",
+-                        "CAM_CLK",
++                        "CAM_GPIO1",
+                         "LAN_RUN",
+                         "SPI_CE1_N",
+                         "SPI_CE0_N",
+@@ -53,7 +53,7 @@
+                         "GPIO24",
+                         "GPIO25",
+                         "NC", /* GPIO26 */
+-                        "CAM_GPIO",
++                        "CAM_GPIO0",
+                         /* Binary number representing build/revision */
+                         "CONFIG0",
+                         "CONFIG1",
diff --git 
a/target/linux/brcm2708/patches-4.9/031-v4.10-0011-ARM-bcm2835-Add-names-for-the-RPi-Zero-GPIO-lines.patch
 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0011-ARM-bcm2835-Add-names-for-the-RPi-Zero-GPIO-lines.patch
new file mode 100644
index 0000000000..5beef8ecb9
--- /dev/null
+++ 
b/target/linux/brcm2708/patches-4.9/031-v4.10-0011-ARM-bcm2835-Add-names-for-the-RPi-Zero-GPIO-lines.patch
@@ -0,0 +1,91 @@
+From 3a1689ea752436917c5ce4487527ed6c444630ee Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wah...@i2se.com>
+Date: Wed, 16 Nov 2016 17:52:07 +0000
+Subject: [PATCH] ARM: bcm2835: Add names for the RPi Zero GPIO lines
+
+This adds the GPIO names for the Raspberry Pi Zero. The GPIO lines
+of the RPi Zero are almost identical to the Model A+ except:
+
+* GPIO 35, 38, 40 and 45 are not connected
+* Status LED is active low
+
+Signed-off-by: Stefan Wahren <stefan.wah...@i2se.com>
+Signed-off-by: Eric Anholt <e...@anholt.net>
+---
+ arch/arm/boot/dts/bcm2835-rpi-zero.dts | 65 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
+@@ -26,6 +26,71 @@
+ };
+ 
+ &gpio {
++      /*
++       * This is based on the official GPU firmware DT blob.
++       *
++       * Legend:
++       * "NC" = not connected (no rail from the SoC)
++       * "FOO" = GPIO line named "FOO" on the schematic
++       * "FOO_N" = GPIO line named "FOO" on schematic, active low
++       */
++      gpio-line-names = "SDA0",
++                        "SCL0",
++                        "SDA1",
++                        "SCL1",
++                        "GPIO_GCLK",
++                        "GPIO5",
++                        "GPIO6",
++                        "SPI_CE1_N",
++                        "SPI_CE0_N",
++                        "SPI_MISO",
++                        "SPI_MOSI",
++                        "SPI_SCLK",
++                        "GPIO12",
++                        "GPIO13",
++                        /* Serial port */
++                        "TXD0",
++                        "RXD0",
++                        "GPIO16",
++                        "GPIO17",
++                        "GPIO18",
++                        "GPIO19",
++                        "GPIO20",
++                        "GPIO21",
++                        "GPIO22",
++                        "GPIO23",
++                        "GPIO24",
++                        "GPIO25",
++                        "GPIO26",
++                        "GPIO27",
++                        "SDA0",
++                        "SCL0",
++                        "NC", /* GPIO30 */
++                        "NC", /* GPIO31 */
++                        "CAM_GPIO1", /* GPIO32 */
++                        "NC", /* GPIO33 */
++                        "NC", /* GPIO34 */
++                        "NC", /* GPIO35 */
++                        "NC", /* GPIO36 */
++                        "NC", /* GPIO37 */
++                        "NC", /* GPIO38 */
++                        "NC", /* GPIO39 */
++                        "NC", /* GPIO40 */
++                        "CAM_GPIO0", /* GPIO41 */
++                        "NC", /* GPIO42 */
++                        "NC", /* GPIO43 */
++                        "NC", /* GPIO44 */
++                        "NC", /* GPIO45 */
++                        "HDMI_HPD_N",
++                        "STATUS_LED_N",
++                        /* Used by SD Card */
++                        "SD_CLK_R",
++                        "SD_CMD_R",
++                        "SD_DATA0_R",
++                        "SD_DATA1_R",
++                        "SD_DATA2_R",
++                        "SD_DATA3_R";
++
+       pinctrl-0 = <&gpioout &alt0 &i2s_alt0>;
+ 
+       /* I2S interface */
diff --git 
a/target/linux/brcm2708/patches-4.9/999-0174-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
 
b/target/linux/brcm2708/patches-4.9/032-v4.11-0001-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
similarity index 84%
rename from 
target/linux/brcm2708/patches-4.9/999-0174-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
rename to 
target/linux/brcm2708/patches-4.9/032-v4.11-0001-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
index a2671f2439..c0d43870ec 100644
--- 
a/target/linux/brcm2708/patches-4.9/999-0174-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
+++ 
b/target/linux/brcm2708/patches-4.9/032-v4.11-0001-ARM-dts-bcm283x-Add-VEC-node-in-bcm283x.dtsi.patch
@@ -1,4 +1,4 @@
-From 9389f17c3c92c3ec54e0d689ad46b95b90a8039a Mon Sep 17 00:00:00 2001
+From b899c45208d6f204a6da9a1132577993eeecf0fb Mon Sep 17 00:00:00 2001
 From: Boris Brezillon <boris.brezil...@free-electrons.com>
 Date: Fri, 2 Dec 2016 14:48:12 +0100
 Subject: [PATCH] ARM: dts: bcm283x: Add VEC node in bcm283x.dtsi
@@ -7,14 +7,13 @@ Add the VEC (Video EnCoder) node definition in bcm283x.dtsi.
 
 Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>
 Signed-off-by: Eric Anholt <e...@anholt.net>
-(cherry picked from commit b899c45208d6f204a6da9a1132577993eeecf0fb)
 ---
  arch/arm/boot/dts/bcm283x.dtsi | 8 ++++++++
  1 file changed, 8 insertions(+)
 
 --- a/arch/arm/boot/dts/bcm283x.dtsi
 +++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -310,6 +310,14 @@
+@@ -476,6 +476,14 @@
                        status = "disabled";
                };
  
diff --git 
a/target/linux/brcm2708/patches-4.9/999-0175-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
 
b/target/linux/brcm2708/patches-4.9/032-v4.11-0002-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
similarity index 73%
rename from 
target/linux/brcm2708/patches-4.9/999-0175-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
rename to 
target/linux/brcm2708/patches-4.9/032-v4.11-0002-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
index 8689450266..3362fbb833 100644
--- 
a/target/linux/brcm2708/patches-4.9/999-0175-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
+++ 
b/target/linux/brcm2708/patches-4.9/032-v4.11-0002-ARM-dts-bcm283x-Enable-the-VEC-IP-on-all-RaspberryPi.patch
@@ -1,4 +1,4 @@
-From 686aed7763ddc3bd31b45454cbe73fb217a3d1c1 Mon Sep 17 00:00:00 2001
+From 5ab1a37c6027c114a87a1ae32cfc5ef303d643c5 Mon Sep 17 00:00:00 2001
 From: Boris Brezillon <boris.brezil...@free-electrons.com>
 Date: Fri, 2 Dec 2016 14:48:13 +0100
 Subject: [PATCH] ARM: dts: bcm283x: Enable the VEC IP on all RaspberryPi
@@ -8,16 +8,15 @@ Enable the VEC IP on all RaspberryPi boards.
 
 Signed-off-by: Boris Brezillon <boris.brezil...@free-electrons.com>
 Signed-off-by: Eric Anholt <e...@anholt.net>
-(cherry picked from commit 5ab1a37c6027c114a87a1ae32cfc5ef303d643c5)
 ---
  arch/arm/boot/dts/bcm2835-rpi.dtsi | 5 +++++
  1 file changed, 5 insertions(+)
 
 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
 +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -92,3 +92,8 @@
- &dsi1 {
-       power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
+@@ -87,3 +87,8 @@
+       power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
+       status = "okay";
  };
 +
 +&vec {
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0011-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
 
b/target/linux/brcm2708/patches-4.9/950-0011-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
index 319eafbb19..ae52152254 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0011-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0011-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
@@ -10,7 +10,7 @@ Signed-off-by: Noralf Tronnes <no...@tronnes.org>
 
 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
 +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -386,7 +386,7 @@ static struct gpio_chip bcm2835_gpio_chi
+@@ -380,7 +380,7 @@ static struct gpio_chip bcm2835_gpio_chi
        .get = bcm2835_gpio_get,
        .set = bcm2835_gpio_set,
        .to_irq = bcm2835_gpio_to_irq,
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0012-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
 
b/target/linux/brcm2708/patches-4.9/950-0012-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
index b29aa8d7fb..6eae4e6823 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0012-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0012-pinctrl-bcm2835-Fix-interrupt-handling-for-GPIOs-28-.patch
@@ -31,7 +31,7 @@ the pins are often used for I2S instead.
  
  #define BCM2835_PIN_BITMAP_SZ \
        DIV_ROUND_UP(BCM2835_NUM_GPIOS, sizeof(unsigned long) * 8)
-@@ -88,13 +89,13 @@ enum bcm2835_pinconf_pull {
+@@ -82,13 +83,13 @@ enum bcm2835_pinconf_param {
  
  struct bcm2835_gpio_irqdata {
        struct bcm2835_pinctrl *pc;
@@ -47,7 +47,7 @@ the pins are often used for I2S instead.
  
        /* note: locking assumes each bank will have its own unsigned long */
        unsigned long enabled_irq_map[BCM2835_NUM_BANKS];
-@@ -105,7 +106,7 @@ struct bcm2835_pinctrl {
+@@ -99,7 +100,7 @@ struct bcm2835_pinctrl {
        struct gpio_chip gpio_chip;
        struct pinctrl_gpio_range gpio_range;
  
@@ -56,7 +56,7 @@ the pins are often used for I2S instead.
        spinlock_t irq_lock[BCM2835_NUM_BANKS];
  };
  
-@@ -391,17 +392,16 @@ static struct gpio_chip bcm2835_gpio_chi
+@@ -385,17 +386,16 @@ static struct gpio_chip bcm2835_gpio_chi
        .can_sleep = false,
  };
  
@@ -77,7 +77,7 @@ the pins are often used for I2S instead.
        events &= pc->enabled_irq_map[bank];
        for_each_set_bit(offset, &events, 32) {
                gpio = (32 * bank) + offset;
-@@ -409,7 +409,30 @@ static irqreturn_t bcm2835_gpio_irq_hand
+@@ -403,7 +403,30 @@ static irqreturn_t bcm2835_gpio_irq_hand
  
                generic_handle_irq(irq_linear_revmap(pc->irq_domain, gpio));
        }
@@ -109,7 +109,7 @@ the pins are often used for I2S instead.
  }
  
  static inline void __bcm2835_gpio_irq_config(struct bcm2835_pinctrl *pc,
-@@ -998,8 +1021,6 @@ static int bcm2835_pinctrl_probe(struct
+@@ -992,8 +1015,6 @@ static int bcm2835_pinctrl_probe(struct
        for (i = 0; i < BCM2835_NUM_BANKS; i++) {
                unsigned long events;
                unsigned offset;
@@ -118,7 +118,7 @@ the pins are often used for I2S instead.
  
                /* clear event detection flags */
                bcm2835_gpio_wr(pc, GPREN0 + i * 4, 0);
-@@ -1014,10 +1035,15 @@ static int bcm2835_pinctrl_probe(struct
+@@ -1008,10 +1029,15 @@ static int bcm2835_pinctrl_probe(struct
                for_each_set_bit(offset, &events, 32)
                        bcm2835_gpio_wr(pc, GPEDS0 + i * 4, BIT(offset));
  
@@ -136,7 +136,7 @@ the pins are often used for I2S instead.
  
                len = strlen(dev_name(pc->dev)) + 16;
                name = devm_kzalloc(pc->dev, len, GFP_KERNEL);
-@@ -1074,6 +1100,7 @@ static struct platform_driver bcm2835_pi
+@@ -1068,6 +1094,7 @@ static struct platform_driver bcm2835_pi
        .remove = bcm2835_pinctrl_remove,
        .driver = {
                .name = MODULE_NAME,
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0013-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
 
b/target/linux/brcm2708/patches-4.9/950-0013-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
index d2b764f98a..6c365cc8ea 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0013-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0013-pinctrl-bcm2835-Only-request-the-interrupts-listed-i.patch
@@ -16,7 +16,7 @@ interface, is unlikely to be a problem.
 
 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
 +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -1042,6 +1042,8 @@ static int bcm2835_pinctrl_probe(struct
+@@ -1036,6 +1036,8 @@ static int bcm2835_pinctrl_probe(struct
                int len;
                char *name;
                pc->irq[i] = irq_of_parse_and_map(np, i);
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0014-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
 
b/target/linux/brcm2708/patches-4.9/950-0014-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
index 4eb4923021..0729614881 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0014-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0014-pinctrl-bcm2835-Return-pins-to-inputs-when-freed.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <p...@raspberrypi.org>
 
 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
 +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
-@@ -844,6 +844,16 @@ static const struct pinctrl_ops bcm2835_
+@@ -838,6 +838,16 @@ static const struct pinctrl_ops bcm2835_
        .dt_free_map = bcm2835_pctl_dt_free_map,
  };
  
@@ -31,7 +31,7 @@ Signed-off-by: Phil Elwell <p...@raspberrypi.org>
  static int bcm2835_pmx_get_functions_count(struct pinctrl_dev *pctldev)
  {
        return BCM2835_FSEL_COUNT;
-@@ -903,6 +913,7 @@ static int bcm2835_pmx_gpio_set_directio
+@@ -897,6 +907,7 @@ static int bcm2835_pmx_gpio_set_directio
  }
  
  static const struct pinmux_ops bcm2835_pmx_ops = {
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0054-BCM2708-Add-core-Device-Tree-support.patch
 
b/target/linux/brcm2708/patches-4.9/950-0054-BCM2708-Add-core-Device-Tree-support.patch
index d9d1fa9a58..92ccb7bff4 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0054-BCM2708-Add-core-Device-Tree-support.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0054-BCM2708-Add-core-Device-Tree-support.patch
@@ -1013,7 +1013,7 @@ Signed-off-by: Khem Raj <raj.k...@gmail.com>
 +                      firmware = <&firmware>;
 +              };
 +
-+              thermal: thermal {
++              thermal: thermal@7e212000 {
 +                      compatible = "brcm,bcm2835-thermal";
 +                      firmware = <&firmware>;
 +              };
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0126-spi-bcm2835-Disable-forced-software-CS.patch
 
b/target/linux/brcm2708/patches-4.9/950-0126-spi-bcm2835-Disable-forced-software-CS.patch
index 544ccf6f0b..34acd201ba 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0126-spi-bcm2835-Disable-forced-software-CS.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0126-spi-bcm2835-Disable-forced-software-CS.patch
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <p...@raspberrypi.org>
 
 --- a/arch/arm/boot/dts/bcm283x.dtsi
 +++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -163,6 +163,7 @@
+@@ -366,6 +366,7 @@
                        #address-cells = <1>;
                        #size-cells = <0>;
                        status = "disabled";
diff --git 
a/target/linux/brcm2708/patches-4.9/950-0160-ARM-bcm2835-dt-Add-the-DSI-module-nodes-and-clocks.patch
 
b/target/linux/brcm2708/patches-4.9/950-0160-ARM-bcm2835-dt-Add-the-DSI-module-nodes-and-clocks.patch
index 444c287eed..00703579e5 100644
--- 
a/target/linux/brcm2708/patches-4.9/950-0160-ARM-bcm2835-dt-Add-the-DSI-module-nodes-and-clocks.patch
+++ 
b/target/linux/brcm2708/patches-4.9/950-0160-ARM-bcm2835-dt-Add-the-DSI-module-nodes-and-clocks.patch
@@ -14,8 +14,8 @@ Signed-off-by: Eric Anholt <e...@anholt.net>
 
 --- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
 +++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
-@@ -84,3 +84,11 @@
-       power-domains = <&power RPI_POWER_DOMAIN_HDMI>;
+@@ -92,3 +92,11 @@
+       power-domains = <&power RPI_POWER_DOMAIN_VEC>;
        status = "okay";
  };
 +
@@ -45,8 +45,8 @@ Signed-off-by: Eric Anholt <e...@anholt.net>
                };
  
                rng@7e104000 {
-@@ -188,6 +191,26 @@
-                       interrupts = <2 14>; /* pwa1 */
+@@ -398,6 +401,26 @@
+                       status = "disabled";
                };
  
 +              dsi0: dsi@7e209000 {
@@ -72,7 +72,7 @@ Signed-off-by: Eric Anholt <e...@anholt.net>
                aux: aux@0x7e215000 {
                        compatible = "brcm,bcm2835-aux";
                        #clock-cells = <1>;
-@@ -247,6 +270,26 @@
+@@ -457,6 +480,26 @@
                        interrupts = <2 1>;
                };
  
-- 
2.11.0


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to