diff --git a/patch.sh b/patch.sh
index a565a60a3bb6ff736f48a2a425e49fbd34948064..0df4cd0e602466c6083521456c83f3b2542db2c9 100644
--- a/patch.sh
+++ b/patch.sh
@@ -74,15 +74,20 @@ local_patch () {
 #external_git
 #local_patch
 
-dt () {
-	echo "dir: dt"
+reverts () {
+	echo "dir: reverts"
 	#regenerate="enable"
 	if [ "x${regenerate}" = "xenable" ] ; then
 		start_cleanup
 	fi
 
+	#my major screw up...
+	${git} "${DIR}/patches/reverts/0001-Revert-ARM-dts-am335x-boneblack-disable-RTC-only-sle.patch"
+
+	${git} "${DIR}/patches/reverts/0002-Revert-spi-spidev-Warn-loudly-if-instantiated-from-D.patch"
+
 	if [ "x${regenerate}" = "xenable" ] ; then
-		number=0
+		number=2
 		cleanup
 	fi
 }
@@ -224,7 +229,7 @@ beaglebone () {
 		start_cleanup
 	fi
 
-#	${git} "${DIR}/patches/beaglebone/dts/0001-ARM-dts-am335x-boneblack-disable-RTC-only-sleep.patch"
+	${git} "${DIR}/patches/beaglebone/dts/0001-ARM-dts-am335x-bone-enable-pmic-shutdown-controller.patch"
 	${git} "${DIR}/patches/beaglebone/dts/0002-am335x-boneblack-add-cpu0-opp-points.patch"
 	${git} "${DIR}/patches/beaglebone/dts/0003-dts-am335x-bone-common-fixup-leds-to-match-3.8.patch"
 	${git} "${DIR}/patches/beaglebone/dts/0004-arm-dts-am335x-bone-common-add-collision-and-carrier.patch"
@@ -265,6 +270,8 @@ beaglebone () {
 	#regenerate="enable"
 	if [ "x${regenerate}" = "xenable" ] ; then
 
+		device="am335x-arduino-tre.dtb" ; dtb_makefile_append
+
 		device="am335x-bone-can0.dtb" ; dtb_makefile_append
 		device="am335x-bone-cape-bone-argus.dtb" ; dtb_makefile_append
 
@@ -317,7 +324,7 @@ sgx () {
 	fi
 }
 
-dt
+reverts
 #dts
 #wand
 #errata
diff --git a/patches/beaglebone/dtbs/0001-sync-am335x-peripheral-pinmux.patch b/patches/beaglebone/dtbs/0001-sync-am335x-peripheral-pinmux.patch
index 37396bf58422afe9f3bedb4127cf929398fe89d8..e20867cf7d8ca107571bc87ac480dc7fa89381cb 100644
--- a/patches/beaglebone/dtbs/0001-sync-am335x-peripheral-pinmux.patch
+++ b/patches/beaglebone/dtbs/0001-sync-am335x-peripheral-pinmux.patch
@@ -1,45 +1,50 @@
-From f3e08f9268b5eedf29689a3771470fd7f3aa61d1 Mon Sep 17 00:00:00 2001
+From a5d80f52cef7ea349bf1397c132a91cb05cd4f3e Mon Sep 17 00:00:00 2001
 From: Robert Nelson <robertcnelson@gmail.com>
-Date: Thu, 21 May 2015 10:54:38 -0500
+Date: Mon, 1 Jun 2015 09:03:04 -0500
 Subject: [PATCH] sync: am335x-peripheral/pinmux
 
 Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
 ---
+ arch/arm/boot/dts/am335x-arduino-tre.dts           | 566 +++++++++++++++++++++
  arch/arm/boot/dts/am335x-bone-argus.dtsi           |   4 +
- arch/arm/boot/dts/am335x-bone-can0.dts             |  52 ++++
- arch/arm/boot/dts/am335x-bone-cape-bone-argus.dts  |  41 +++
- .../boot/dts/am335x-bone-common-no-capemgr.dtsi    | 321 +++++++++++++++++++++
- arch/arm/boot/dts/am335x-bone-emmc-in-reset.dtsi   |  18 ++
- arch/arm/boot/dts/am335x-bone-pinmux-can0.dtsi     |  45 +++
- arch/arm/boot/dts/am335x-bone-pinmux-can1.dtsi     |  45 +++
- arch/arm/boot/dts/am335x-bone-pinmux-emmc.dtsi     |  88 ++++++
- .../am335x-bone-pinmux-gpio-backlight-P9_14.dtsi   |  43 +++
- arch/arm/boot/dts/am335x-bone-pinmux-i2c2.dtsi     |  45 +++
- arch/arm/boot/dts/am335x-bone-pinmux-nxp-hdmi.dtsi | 143 +++++++++
- .../am335x-bone-pinmux-panel-1024x600-24bit.dtsi   | 151 ++++++++++
- arch/arm/boot/dts/am335x-bone-pinmux-ttyS1.dtsi    |  48 +++
- arch/arm/boot/dts/am335x-bone-pinmux-ttyS2.dtsi    |  48 +++
- arch/arm/boot/dts/am335x-bone-pinmux-ttyS4.dtsi    |  48 +++
- arch/arm/boot/dts/am335x-bone-pinmux-ttyS5.dtsi    |  48 +++
- arch/arm/boot/dts/am335x-boneblack-bbb-exp-c.dts   |  44 +++
- arch/arm/boot/dts/am335x-boneblack-can0.dts        |  63 ++++
- .../boot/dts/am335x-boneblack-cape-bone-argus.dts  |  44 +++
- arch/arm/boot/dts/am335x-boneblack-replicape.dts   |  18 +-
- arch/arm/boot/dts/am335x-cape-bbb-exp-c.dtsi       | 202 +++++++++++++
+ arch/arm/boot/dts/am335x-bone-can0.dts             |  52 ++
+ arch/arm/boot/dts/am335x-bone-cape-bone-argus.dts  |  41 ++
+ .../boot/dts/am335x-bone-common-no-capemgr.dtsi    | 337 ++++++++++++
+ arch/arm/boot/dts/am335x-bone-emmc-in-reset.dtsi   |  18 +
+ arch/arm/boot/dts/am335x-bone-pinmux-can0.dtsi     |  45 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-can1.dtsi     |  45 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-emmc.dtsi     |  88 ++++
+ .../am335x-bone-pinmux-gpio-backlight-P9_14.dtsi   |  43 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-i2c2.dtsi     |  45 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-nxp-hdmi.dtsi | 143 ++++++
+ .../am335x-bone-pinmux-panel-1024x600-24bit.dtsi   | 151 ++++++
+ arch/arm/boot/dts/am335x-bone-pinmux-ttyS1.dtsi    |  48 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-ttyS2.dtsi    |  48 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-ttyS4.dtsi    |  48 ++
+ arch/arm/boot/dts/am335x-bone-pinmux-ttyS5.dtsi    |  48 ++
+ arch/arm/boot/dts/am335x-boneblack-bbb-exp-c.dts   |  48 ++
+ arch/arm/boot/dts/am335x-boneblack-can0.dts        |  67 +++
+ .../boot/dts/am335x-boneblack-cape-bone-argus.dts  |  48 ++
+ arch/arm/boot/dts/am335x-boneblack-overlay.dts     |   4 +
+ arch/arm/boot/dts/am335x-boneblack-replicape.dts   |  22 +-
+ arch/arm/boot/dts/am335x-boneblack-wl1835mod.dts   |   4 +
+ arch/arm/boot/dts/am335x-bonegreen.dts             |   4 +
+ arch/arm/boot/dts/am335x-cape-bbb-exp-c.dtsi       | 202 ++++++++
  arch/arm/boot/dts/am335x-cape-rtc-ds1307.dtsi      |  31 ++
  arch/arm/boot/dts/am335x-peripheral-can0.dtsi      |  13 +
  arch/arm/boot/dts/am335x-peripheral-can1.dtsi      |  13 +
  arch/arm/boot/dts/am335x-peripheral-emmc.dtsi      |  15 +
- .../am335x-peripheral-gpio-backlight-P9_14.dtsi    |  18 ++
+ .../am335x-peripheral-gpio-backlight-P9_14.dtsi    |  18 +
  arch/arm/boot/dts/am335x-peripheral-i2c2.dtsi      |  13 +
- arch/arm/boot/dts/am335x-peripheral-nxp-hdmi.dtsi  |  21 ++
- .../am335x-peripheral-panel-1024x600-24bit.dtsi    |  49 ++++
+ arch/arm/boot/dts/am335x-peripheral-nxp-hdmi.dtsi  |  21 +
+ .../am335x-peripheral-panel-1024x600-24bit.dtsi    |  49 ++
  arch/arm/boot/dts/am335x-peripheral-ttyS1.dtsi     |  13 +
  arch/arm/boot/dts/am335x-peripheral-ttyS2.dtsi     |  13 +
  arch/arm/boot/dts/am335x-peripheral-ttyS4.dtsi     |  13 +
  arch/arm/boot/dts/am335x-peripheral-ttyS5.dtsi     |  13 +
- include/dt-bindings/board/am335x-bbw-bbb-base.h    | 103 +++++++
- 34 files changed, 1878 insertions(+), 9 deletions(-)
+ include/dt-bindings/board/am335x-bbw-bbb-base.h    | 103 ++++
+ 38 files changed, 2488 insertions(+), 9 deletions(-)
+ create mode 100644 arch/arm/boot/dts/am335x-arduino-tre.dts
  create mode 100644 arch/arm/boot/dts/am335x-bone-can0.dts
  create mode 100644 arch/arm/boot/dts/am335x-bone-cape-bone-argus.dts
  create mode 100644 arch/arm/boot/dts/am335x-bone-common-no-capemgr.dtsi
@@ -73,6 +78,578 @@ Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
  create mode 100644 arch/arm/boot/dts/am335x-peripheral-ttyS5.dtsi
  create mode 100644 include/dt-bindings/board/am335x-bbw-bbb-base.h
 
+diff --git a/arch/arm/boot/dts/am335x-arduino-tre.dts b/arch/arm/boot/dts/am335x-arduino-tre.dts
+new file mode 100644
+index 0000000..ae76692f
+--- /dev/null
++++ b/arch/arm/boot/dts/am335x-arduino-tre.dts
+@@ -0,0 +1,566 @@
++/*
++ * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++/dts-v1/;
++
++#include "am33xx.dtsi"
++
++/ {
++	model = "TI AM335x Arduino Tre";
++	compatible = "ti,am335x-arduino-tre", "ti,am335x-boneblack", "ti,am335x-bone", "ti,am33xx";
++
++	cpus {
++		cpu@0 {
++			cpu0-supply = <&dcdc2_reg>;
++		};
++	};
++
++	memory {
++		device_type = "memory";
++		reg = <0x80000000 0x10000000>; /* 512 MB */
++	};
++
++	leds {
++		compatible = "gpio-leds";
++		pinctrl-names = "default";
++		pinctrl-0 = <&userled_pins>;
++
++		led0 {
++			label = "arduino_tre:yel:usr0";
++			gpios = <&gpio1 21 0>;
++			linux,default-trigger = "mmc0";
++			default-state = "off";
++		};
++
++		led1 {
++			label = "arduino_tre:red:usr1";
++			gpios = <&gpio1 22 0>;
++			linux,default-trigger = "none";
++			default-state = "off";
++		};
++
++		led2 {
++			label = "arduino_tre:blu:usr2";
++			gpios = <&gpio1 23 0>;
++			linux,default-trigger = "none";
++			default-state = "off";
++		};
++
++		led3 {
++			label = "arduino_tre:grn:usr3";
++			gpios = <&gpio1 24 0>;
++			linux,default-trigger = "cpu0";
++			default-state = "off";
++		};
++	};
++
++	hdmi {
++		compatible = "ti,tilcdc,slave";
++		i2c = <&i2c0>;
++		pinctrl-names = "default", "off";
++		pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
++		pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
++		status = "okay";
++	};
++
++	sound {
++		compatible = "ti,da830-evm-audio";
++		ti,model = "DA830 EVM";
++		ti,audio-codec = <&tlv320aic3x>;
++		ti,mcasp-controller = <&mcasp0>;
++		ti,codec-clock-rate = <12000000>;
++		ti,audio-routing =
++			"Headphone Jack",       "HPLOUT",
++			"Headphone Jack",       "HPROUT",
++			"LINE2L",               "Line In",
++			"LINE2R",               "Line In";
++	};
++
++	vmmcsd_fixed: fixedregulator@0 {
++		compatible = "regulator-fixed";
++		regulator-name = "vmmcsd_fixed";
++		regulator-min-microvolt = <3300000>;
++		regulator-max-microvolt = <3300000>;
++	};
++};
++
++&am33xx_pinmux {
++	pinctrl-names = "default";
++	pinctrl-0 = <&userled_pins>;
++
++	userled_pins: pinmux_userled_pins {
++		pinctrl-single,pins = <
++			0x54 0x7        /* gpmc_a5.gpio1_21, OUTPUT	  | MODE7 */
++			0x58 0x17       /* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */
++			0x5c 0x7        /* gpmc_a7.gpio1_23, OUTPUT	  | MODE7 */
++			0x60 0x17       /* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */
++		>;
++	};
++
++	can_bus_pins: pinmux_can_bus_pins {
++		pinctrl-single,pins = <
++			0x120 0x31	/* DCAN0_RX	MODE1 */
++			0x11c 0x01	/* DCAN0_TX	MODE1 */
++		>;
++	};
++
++	cpsw_default: cpsw_default {
++		pinctrl-single,pins = <
++			/* Slave 1 */
++			0x110 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxerr.mii1_rxerr */
++			0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txen.mii1_txen */
++			0x118 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxdv.mii1_rxdv */
++			0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd3.mii1_txd3 */
++			0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd2.mii1_txd2 */
++			0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd1.mii1_txd1 */
++			0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* mii1_txd0.mii1_txd0 */
++			0x12c (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_txclk.mii1_txclk */
++			0x130 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxclk.mii1_rxclk */
++			0x134 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd3.mii1_rxd3 */
++			0x138 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd2.mii1_rxd2 */
++			0x13c (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd1.mii1_rxd1 */
++			0x140 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mii1_rxd0.mii1_rxd0 */
++		>;
++	};
++
++	cpsw_sleep: cpsw_sleep {
++		pinctrl-single,pins = <
++			/* Slave 1 reset value */
++			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++		>;
++	};
++
++	emac_rmii1_pins: pinmux_emac_rmii1_pins {
++		pinctrl-single,pins = <
++			0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_crs.rmii1_crs_dv */
++			0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxerr.rmii1_rxerr */
++			0x114 (PIN_OUTPUT | MUX_MODE1)		/* mii1_txen.rmii1_txen */
++			0x124 (PIN_OUTPUT | MUX_MODE1)		/* mii1_txd1.rmii1_txd1 */
++			0x128 (PIN_OUTPUT | MUX_MODE1)		/* mii1_txd0.rmii1_txd0 */
++			0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxd1.rmii1_rxd1 */
++			0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1)	/* mii1_rxd0.rmii1_rxd0 */
++			0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* rmii1_refclk.rmii1_refclk */
++		>;
++	};
++
++	davinci_mdio_default: davinci_mdio_default {
++		pinctrl-single,pins = <
++			/* MDIO */
++			0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)	/* mdio_data.mdio_data */
++			0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)			/* mdio_clk.mdio_clk */
++		>;
++	};
++
++	davinci_mdio_sleep: davinci_mdio_sleep {
++		pinctrl-single,pins = <
++			/* MDIO reset value */
++			0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
++		>;
++	};
++
++	i2c0_pins: pinmux_i2c0_pins {
++		pinctrl-single,pins = <
++			0x188 0x70      /* i2c0_sda, SLEWCTRL_SLOW | INPUT_PULLUP | MODE0 */
++			0x18c 0x70      /* i2c0_scl, SLEWCTRL_SLOW | INPUT_PULLUP | MODE0 */
++		>;
++	};
++
++	i2c1_pins: pinmux_i2c1_pins {
++		pinctrl-single,pins = <
++			0x158 0x72 	/*spi0_d1-i2c1_sda,SLEWCTRL_SLOW | INPUT_PULLUP | MODE2*/
++			0x15c 0x72	/*spi0_cs0-i2c1_scl,SLEWCTRL_SLOW | INPUT_PULLUP |MODE2*/
++		>;
++	};
++
++	i2c2_pins: pinmux_i2c2_pins {
++		pinctrl-single,pins = <
++			0x150 0x72 	/*spi0_scl.i2c2_sda,SLEWCTRL_SLOW | INPUT_PULLUP |MODE2*/
++			0x154 0x72	/*spi0_d0.i2c2_scl,SLEWCTRL_SLOW | INPUT_PULLUP | MODE2*/
++		>;
++	};
++
++	mmc1_pins_default: pinmux_mmc1_pins {
++		pinctrl-single,pins = <
++			0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat3.mmc0_dat3 */
++			0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat2.mmc0_dat2 */
++			0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat1.mmc0_dat1 */
++			0x0FC (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_dat0.mmc0_dat0 */
++			0x100 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_clk.mmc0_clk */
++			0x104 (PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc0_cmd.mmc0_cmd */
++			0x1A0 (PIN_INPUT_PULLUP | MUX_MODE7)	/* mcasp0_aclkr.gpio3_18 */
++			0x160 (PIN_INPUT | MUX_MODE7)		/* spi0_cs1.gpio0_6 */
++		>;
++	};
++
++	mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
++		pinctrl-single,pins = <
++			0x0F0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x0F4 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x0F8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x0FC (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++			0x1A0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
++		>;
++	};
++
++	tre_ehrpwm1_pins: pinmux_tre_ehrpwm1_pins {
++		pinctrl-single,pins = <
++			0x48 0x06	/* PWM1A	~102	MODE6 */
++			0x4c 0x06	/* PWM1B	~103	MODE6 */
++		>;
++	};
++
++	tre_ehrpwm2_pins: pinmux_tre_ehrpwm2_pins {
++		pinctrl-single,pins = <
++			0x20 0x04	/* PWM2A	~100	MODE4 */
++			0x24 0x04	/* PWM2B	~101	MODE4 */
++		>;
++	};
++
++	nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
++		pinctrl-single,pins = <
++			0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
++			0xa0 0x08       /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xa4 0x08       /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xa8 0x08       /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xac 0x08       /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xb0 0x08       /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xb4 0x08       /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xb8 0x08       /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xbc 0x08       /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xc0 0x08       /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xc4 0x08       /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xc8 0x08       /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xcc 0x08       /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xd0 0x08       /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xd4 0x08       /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xd8 0x08       /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xdc 0x08       /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */
++			0xe0 0x00       /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
++			0xe4 0x00       /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
++			0xe8 0x00       /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
++			0xec 0x00       /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */
++		>;
++	};
++
++	nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
++		pinctrl-single,pins = <
++			0x1b0 0x03      /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */
++		>;
++	};
++
++	tre_audio_pins: pinmux_tre_audio_pins {
++		pinctrl-single,pins = <
++			0x1ac 0x00	/*mcasp0_ahclkx       (AUD_MCLK)->12MHz, INPUT | MODE0*/
++			0x190 0x20	/* mcasp0_aclkx        (AUD_BCLK)->, 	 INPUT | MODE0*/
++			0x194 0x20	/* mcasp0_fsx          (AUD_FSX)-> , 	 INPUT | MODE0*/
++			0x198 0x20	/* mcasp0_axr0         (AUD_DIN)<-, 	 INPUT | MODE0*/
++			0x19c 0x22	/* mcasp0_ahclkr-_axr2 (AUD_DOUT)->, 	       | MODE2*/
++		>;
++	};
++
++	spi1_pins: pinmux_spi1_pins {
++		pinctrl-single,pins = <
++			0x168 0x14 	/* MOSI1 OUTPUT_PULLUP | MODE0 */
++			0x16c 0x34	/* MISO1 INPUT_PULLUP | MODE0 */
++			0x108 0x12 	/* SCK1	 OUTPUT_PULLUP | MODE0 */
++			0x164 0x12	/* SS1	 OUTPUT_PULLUP | MODE0 */
++		>;
++	};
++
++	uart0_pins: pinmux_uart0_pins {
++		pinctrl-single,pins = <
++			0x170 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart0_rxd.uart0_rxd */
++			0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* uart0_txd.uart0_txd */
++		>;
++	};
++
++	uart1_pins: pinmux_uart1_pins {
++		pinctrl-single,pins = <
++			0x180 0x30	/* UART1_rxd PULL_UP | MODE0 */
++			0x184 0x00	/* UART1_txd 	MODE0 */
++		>;
++	};
++
++	uart2_pins: pinmux_uart2_pins {
++		pinctrl-single,pins = <
++			0x12c 0x31	/* UART2_rxd PULL_UP | MODE1 */
++			0x130 0x01	/* UART2_txd 	MODE1 */
++		>;
++	};
++
++	uart4_pins: pinmux_uart4_pins {
++		pinctrl-single,pins = <
++			0x70 0x36	/* UART4_rxd PULL_UP | MODE6 */
++			0x74 0x06	/* UART4_txd 	MODE6 */
++		>;
++	};
++};
++
++&dcan0 {
++	status = "okay";
++	pinctrl-names = "default";
++	pinctrl-0 = <&can_bus_pins>;
++};
++
++&i2c0 {
++	status = "okay";
++	clock-frequency = <400000>;
++	pinctrl-names = "default";
++	pinctrl-0 = <&i2c0_pins>;
++
++	tps: tps@24 {
++		reg = <0x24>;
++	};
++
++	rtc@6f {
++		compatible = "microchip,mcp7941x";
++		reg = <0x6f>;
++	};
++
++	tlv320aic3x: tlv320aic3x@18 {
++		compatible = "ti,tlv320aic3x";
++		reg = <0x18>;
++		status = "okay";
++	};
++};
++
++&i2c1 {
++	status = "okay";
++	pinctrl-names = "default";
++	pinctrl-0 = <&i2c1_pins>;
++
++	clock-frequency = <100000>;
++};
++
++&i2c2 {
++	status = "okay";
++	pinctrl-names = "default";
++	pinctrl-0 = <&i2c2_pins>;
++
++	clock-frequency = <100000>;
++};
++
++&epwmss1 {
++	status = "okay";
++};
++
++&ehrpwm1 {
++	status = "okay";
++	pinctrl-names = "default";
++	pinctrl-0 = <&tre_ehrpwm1_pins>;
++};
++
++&epwmss2 {
++	status = "okay";
++};
++
++&ehrpwm2 {
++	status = "okay";
++	pinctrl-names = "default";
++	pinctrl-0 = <&tre_ehrpwm2_pins>;
++};
++
++&lcdc {
++	status = "okay";
++};
++
++&uart0 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&uart0_pins>;
++
++	status = "okay";
++};
++
++&uart1 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&uart1_pins>;
++
++	status = "okay";
++};
++
++&uart2 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&uart2_pins>;
++
++	status = "okay";
++};
++
++&uart4 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&uart4_pins>;
++
++	status = "okay";
++};
++
++&usb {
++	status = "okay";
++
++	control@44e10620 {
++		status = "okay";
++	};
++
++	usb-phy@47401300 {
++		status = "okay";
++	};
++
++	usb-phy@47401b00 {
++		status = "okay";
++	};
++
++	usb@47401000 {
++		status = "okay";
++		dr_mode = "peripheral";
++	};
++
++	usb@47401800 {
++		status = "okay";
++		dr_mode = "host";
++	};
++
++	dma-controller@47402000  {
++		status = "okay";
++	};
++};
++
++#include "tps65217.dtsi"
++
++&tps {
++	ti,pmic-shutdown-controller;
++
++	interrupt-parent = <&intc>;
++	interrupts = <7>;	/* NNMI */
++
++	regulators {
++		dcdc1_reg: regulator@0 {
++			regulator-name = "vdd_ddr";
++			regulator-min-microvolt = <1350000>;
++			regulator-max-microvolt = <1350000>;
++			regulator-boot-on;
++			regulator-always-on;
++		};
++
++		dcdc2_reg: regulator@1 {
++			/* VDD_MPU voltage limits 0.925V - 1.325V with +/-4% tolerance */
++			regulator-name = "vdd_mpu";
++			regulator-min-microvolt = <925000>;
++			regulator-max-microvolt = <1325000>;
++			regulator-boot-on;
++			regulator-always-on;
++		};
++
++		dcdc3_reg: regulator@2 {
++			/* VDD_CORE voltage limits 0.925V - 1.15V with +/-4% tolerance */
++			regulator-name = "vdd_core";
++			regulator-min-microvolt = <925000>;
++			regulator-max-microvolt = <1150000>;
++			regulator-boot-on;
++			regulator-always-on;
++		};
++
++		ldo1_reg: regulator@3 {
++			regulator-always-on;
++		};
++
++		ldo2_reg: regulator@4 {
++			regulator-always-on;
++		};
++
++		ldo3_reg: regulator@5 {
++			regulator-min-microvolt = <1800000>;
++			regulator-max-microvolt = <1800000>;
++			regulator-always-on;
++		};
++
++		ldo4_reg: regulator@6 {
++			regulator-always-on;
++		};
++
++		rtc@44e3e000 {
++			ti,system-power-controller;
++		};
++	};
++};
++
++&mcasp0 {
++	pinctrl-names = "default";
++	pinctrl-0 = <&tre_audio_pins>;
++
++	status = "okay";
++
++	op-mode = <0>;          /* MCASP_IIS_MODE */
++	tdm-slots = <2>;
++	num-serializer = <16>;
++	serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
++		2 0 1 0
++		0 0 0 0
++		0 0 0 0
++		0 0 0 0
++	>;
++	tx-num-evt = <1>;
++	rx-num-evt = <1>;
++};
++
++&mac {
++	slaves = <1>;
++	pinctrl-names = "default";
++	pinctrl-0 = <&emac_rmii1_pins>;
++	status = "okay";
++};
++
++&davinci_mdio {
++	pinctrl-names = "default", "sleep";
++	pinctrl-0 = <&davinci_mdio_default>;
++	pinctrl-1 = <&davinci_mdio_sleep>;
++	status = "okay";
++};
++
++&cpsw_emac0 {
++	phy_id = <&davinci_mdio>, <0>;
++	phy-mode = "rmii";
++};
++
++&phy_sel {
++	rmii-clock-ext;
++};
++
++&mmc1 {
++	status = "okay";
++	bus-width = <0x4>;
++	pinctrl-names = "default", "sleep";
++	pinctrl-0 = <&mmc1_pins_default>;
++	pinctrl-1 = <&mmc1_pins_sleep>;
++	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
++	cd-inverted;
++	vmmc-supply = <&vmmcsd_fixed>;
++};
++
++&rtc {
++	system-power-controller;
++};
++
++&sham {
++	status = "okay";
++};
++
++&aes {
++	status = "okay";
++};
 diff --git a/arch/arm/boot/dts/am335x-bone-argus.dtsi b/arch/arm/boot/dts/am335x-bone-argus.dtsi
 index 0bbe050..a44c7d1 100644
 --- a/arch/arm/boot/dts/am335x-bone-argus.dtsi
@@ -202,10 +779,10 @@ index 0000000..a92d891
 +#include "am335x-bone-argus.dtsi"
 diff --git a/arch/arm/boot/dts/am335x-bone-common-no-capemgr.dtsi b/arch/arm/boot/dts/am335x-bone-common-no-capemgr.dtsi
 new file mode 100644
-index 0000000..b2da1ca
+index 0000000..232bca7
 --- /dev/null
 +++ b/arch/arm/boot/dts/am335x-bone-common-no-capemgr.dtsi
-@@ -0,0 +1,321 @@
+@@ -0,0 +1,337 @@
 +/*
 + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 + *
@@ -439,7 +1016,23 @@ index 0000000..b2da1ca
 +/include/ "tps65217.dtsi"
 +
 +&tps {
++	// Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
++	// mode") at poweroff.  Most BeagleBone versions do not support RTC-only
++	// mode and risk hardware damage if this mode is entered.
++	//
++	// For details, see linux-omap mailing list May 2015 thread
++	//	[PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
++	// In particular, messages:
++	//	http://www.spinics.net/lists/linux-omap/msg118585.html
++	//	http://www.spinics.net/lists/linux-omap/msg118615.html
++	//
 +	ti,pmic-shutdown-controller;
++	//
++	// You can override this later with
++	//	&tps {  /delete-property/ ti,pmic-shutdown-controller;  }
++	// if you want to use RTC-only mode and made sure you are not affected
++	// by the hardware problems. (Tip: double-check by performing a current
++	// measurement after shutdown: it should be less than 1 mA.)
 +
 +	regulators {
 +		dcdc1_reg: regulator@0 {
@@ -1371,10 +1964,10 @@ index 0000000..01d0aec
 +};
 diff --git a/arch/arm/boot/dts/am335x-boneblack-bbb-exp-c.dts b/arch/arm/boot/dts/am335x-boneblack-bbb-exp-c.dts
 new file mode 100644
-index 0000000..5dcef6f
+index 0000000..8c92446
 --- /dev/null
 +++ b/arch/arm/boot/dts/am335x-boneblack-bbb-exp-c.dts
-@@ -0,0 +1,44 @@
+@@ -0,0 +1,48 @@
 +/*
 + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 + *
@@ -1418,13 +2011,17 @@ index 0000000..5dcef6f
 +/* #include "am335x-peripheral-nxp-hdmi.dtsi" */
 +/* #include "am335x-bone-pinmux-nxp-hdmi.dtsi" */
 +
++&rtc {
++	system-power-controller;
++};
++
 +#include "am335x-cape-bbb-exp-c.dtsi"
 diff --git a/arch/arm/boot/dts/am335x-boneblack-can0.dts b/arch/arm/boot/dts/am335x-boneblack-can0.dts
 new file mode 100644
-index 0000000..ffe07e3
+index 0000000..a613db4
 --- /dev/null
 +++ b/arch/arm/boot/dts/am335x-boneblack-can0.dts
-@@ -0,0 +1,63 @@
+@@ -0,0 +1,67 @@
 +/*
 + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 + *
@@ -1468,6 +2065,10 @@ index 0000000..ffe07e3
 +#include "am335x-peripheral-nxp-hdmi.dtsi"
 +#include "am335x-bone-pinmux-nxp-hdmi.dtsi"
 +
++&rtc {
++	system-power-controller;
++};
++
 +#include "am335x-peripheral-can0.dtsi"
 +#include "am335x-bone-pinmux-can0.dtsi"
 +
@@ -1490,10 +2091,10 @@ index 0000000..ffe07e3
 +/* #include "am335x-bone-pinmux-ttyS5.dtsi" */
 diff --git a/arch/arm/boot/dts/am335x-boneblack-cape-bone-argus.dts b/arch/arm/boot/dts/am335x-boneblack-cape-bone-argus.dts
 new file mode 100644
-index 0000000..ff99914
+index 0000000..f95ff5d
 --- /dev/null
 +++ b/arch/arm/boot/dts/am335x-boneblack-cape-bone-argus.dts
-@@ -0,0 +1,44 @@
+@@ -0,0 +1,48 @@
 +/*
 + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 + *
@@ -1537,9 +2138,25 @@ index 0000000..ff99914
 +#include "am335x-peripheral-nxp-hdmi.dtsi"
 +#include "am335x-bone-pinmux-nxp-hdmi.dtsi"
 +
++&rtc {
++	system-power-controller;
++};
++
 +#include "am335x-bone-argus.dtsi"
+diff --git a/arch/arm/boot/dts/am335x-boneblack-overlay.dts b/arch/arm/boot/dts/am335x-boneblack-overlay.dts
+index 8206843..1d3bde4 100644
+--- a/arch/arm/boot/dts/am335x-boneblack-overlay.dts
++++ b/arch/arm/boot/dts/am335x-boneblack-overlay.dts
+@@ -28,3 +28,7 @@
+ &mmc1 {
+ 	vmmc-supply = <&vmmcsd_fixed>;
+ };
++
++&rtc {
++	system-power-controller;
++};
 diff --git a/arch/arm/boot/dts/am335x-boneblack-replicape.dts b/arch/arm/boot/dts/am335x-boneblack-replicape.dts
-index a44d1a9..b241009 100644
+index a44d1a9..fcdd038 100644
 --- a/arch/arm/boot/dts/am335x-boneblack-replicape.dts
 +++ b/arch/arm/boot/dts/am335x-boneblack-replicape.dts
 @@ -8,11 +8,11 @@
@@ -1582,6 +2199,42 @@ index a44d1a9..b241009 100644
  };
  
  #include "am335x-peripheral-emmc.dtsi"
+@@ -41,4 +41,8 @@
+ #include "am335x-peripheral-nxp-hdmi.dtsi"
+ #include "am335x-bone-pinmux-nxp-hdmi.dtsi"
+ 
++&rtc {
++	system-power-controller;
++};
++
+ #include "am335x-bone-replicape.dtsi"
+diff --git a/arch/arm/boot/dts/am335x-boneblack-wl1835mod.dts b/arch/arm/boot/dts/am335x-boneblack-wl1835mod.dts
+index 7027d84..edfc2fa 100644
+--- a/arch/arm/boot/dts/am335x-boneblack-wl1835mod.dts
++++ b/arch/arm/boot/dts/am335x-boneblack-wl1835mod.dts
+@@ -28,6 +28,10 @@
+ 	vmmc-supply = <&vmmcsd_fixed>;
+ };
+ 
++&rtc {
++	system-power-controller;
++};
++
+ /* EMMC in reset */
+ &gpio1 {
+ 	emmc_rst {
+diff --git a/arch/arm/boot/dts/am335x-bonegreen.dts b/arch/arm/boot/dts/am335x-bonegreen.dts
+index 5de96f1..8df822a 100644
+--- a/arch/arm/boot/dts/am335x-bonegreen.dts
++++ b/arch/arm/boot/dts/am335x-bonegreen.dts
+@@ -36,3 +36,7 @@
+ 	bus-width = <8>;
+ 	status = "okay";
+ };
++
++&rtc {
++	system-power-controller;
++};
 diff --git a/arch/arm/boot/dts/am335x-cape-bbb-exp-c.dtsi b/arch/arm/boot/dts/am335x-cape-bbb-exp-c.dtsi
 new file mode 100644
 index 0000000..24cedf4
diff --git a/patches/beaglebone/dts/0001-ARM-dts-am335x-bone-enable-pmic-shutdown-controller.patch b/patches/beaglebone/dts/0001-ARM-dts-am335x-bone-enable-pmic-shutdown-controller.patch
new file mode 100644
index 0000000000000000000000000000000000000000..023bc1746e92f0236341768591a298f91b04a8ce
--- /dev/null
+++ b/patches/beaglebone/dts/0001-ARM-dts-am335x-bone-enable-pmic-shutdown-controller.patch
@@ -0,0 +1,54 @@
+From a04401927c99b53c58e8bc53af71051e5530575f Mon Sep 17 00:00:00 2001
+From: Matthijs van Duin <matthijsvanduin@gmail.com>
+Date: Mon, 1 Jun 2015 06:56:24 +0200
+Subject: [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
+
+Fixes: http://bugs.elinux.org/issues/143
+
+Avoid entering "RTC-only mode" at poweroff. It is unsupported by most
+versions of BeagleBone, and risks hardware damage.
+
+Reported-by: Matthijs van Duin <matthijsvanduin@gmail.com>
+Tested-by: Matthijs van Duin <matthijsvanduin@gmail.com>
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+Cc: Tony Lindgren <tony@atomide.com>
+Cc: Felipe Balbi <balbi@ti.com>
+Cc: Johan Hovold <johan@kernel.org>
+[Matthijs van Duin: added explanatory comments]
+Signed-off-by: Matthijs van Duin <matthijsvanduin@gmail.com>
+---
+ arch/arm/boot/dts/am335x-bone-common.dtsi | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
+index 014341a..025e5de 100644
+--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
++++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
+@@ -263,6 +263,24 @@
+ /include/ "tps65217.dtsi"
+ 
+ &tps {
++	// Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
++	// mode") at poweroff.  Most BeagleBone versions do not support RTC-only
++	// mode and risk hardware damage if this mode is entered.
++	//
++	// For details, see linux-omap mailing list May 2015 thread
++	//	[PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
++	// In particular, messages:
++	//	http://www.spinics.net/lists/linux-omap/msg118585.html
++	//	http://www.spinics.net/lists/linux-omap/msg118615.html
++	//
++	ti,pmic-shutdown-controller;
++	//
++	// You can override this later with
++	//	&tps {  /delete-property/ ti,pmic-shutdown-controller;  }
++	// if you want to use RTC-only mode and made sure you are not affected
++	// by the hardware problems. (Tip: double-check by performing a current
++	// measurement after shutdown: it should be less than 1 mA.)
++
+ 	regulators {
+ 		dcdc1_reg: regulator@0 {
+ 			regulator-name = "vdds_dpr";
+-- 
+2.1.4
+
diff --git a/patches/beaglebone/generated/0001-auto-generated-capes-add-dtbs-to-makefile.patch b/patches/beaglebone/generated/0001-auto-generated-capes-add-dtbs-to-makefile.patch
index 82ebbd1213be5ee7c329d1831d36e2dc7e641550..0e168d161426e6eba2d4ba1b3a4c65afa281b899 100644
--- a/patches/beaglebone/generated/0001-auto-generated-capes-add-dtbs-to-makefile.patch
+++ b/patches/beaglebone/generated/0001-auto-generated-capes-add-dtbs-to-makefile.patch
@@ -1,18 +1,18 @@
-From 7657001e8ccf57d5ece9e630b9bf1527374d9012 Mon Sep 17 00:00:00 2001
+From d8dccb054e2113ba86913ac95cb2a8e31381b185 Mon Sep 17 00:00:00 2001
 From: Robert Nelson <robertcnelson@gmail.com>
-Date: Thu, 21 May 2015 10:58:41 -0500
+Date: Mon, 1 Jun 2015 09:04:52 -0500
 Subject: [PATCH] auto generated: capes: add dtbs to makefile
 
 Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
 ---
- arch/arm/boot/dts/Makefile | 7 +++++++
- 1 file changed, 7 insertions(+)
+ arch/arm/boot/dts/Makefile | 8 ++++++++
+ 1 file changed, 8 insertions(+)
 
 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index e5481be..d9f02fa 100644
+index 0d52af0..b7edd56 100644
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -419,6 +419,13 @@ dtb-$(CONFIG_SOC_AM33XX) += \
+@@ -419,6 +419,14 @@ dtb-$(CONFIG_SOC_AM33XX) += \
  	am335x-base0033.dtb \
  	am335x-bone.dtb \
  	am335x-boneblack.dtb \
@@ -23,6 +23,7 @@ index e5481be..d9f02fa 100644
 +	am335x-boneblack-bbb-exp-c.dtb \
 +	am335x-bone-cape-bone-argus.dtb \
 +	am335x-bone-can0.dtb \
++	am335x-arduino-tre.dtb \
  	am335x-boneblack-overlay.dtb \
  	am335x-bonegreen.dtb \
  	am335x-evm.dtb \
diff --git a/patches/reverts/0001-Revert-ARM-dts-am335x-boneblack-disable-RTC-only-sle.patch b/patches/reverts/0001-Revert-ARM-dts-am335x-boneblack-disable-RTC-only-sle.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8e28fea4ceb4fb213fe9d2527b2c45064e326bfe
--- /dev/null
+++ b/patches/reverts/0001-Revert-ARM-dts-am335x-boneblack-disable-RTC-only-sle.patch
@@ -0,0 +1,26 @@
+From 09e7ec0080eda7ad3e15f605c2998422aef22891 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Mon, 1 Jun 2015 08:42:38 -0500
+Subject: [PATCH 1/2] Revert "ARM: dts: am335x-boneblack: disable RTC-only
+ sleep"
+
+This reverts commit 3d76be5b933e2a66d85a2f7444e68e99e8a48ad4.
+---
+ arch/arm/boot/dts/am335x-boneblack.dts | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
+index 901739f..5c42d25 100644
+--- a/arch/arm/boot/dts/am335x-boneblack.dts
++++ b/arch/arm/boot/dts/am335x-boneblack.dts
+@@ -80,3 +80,7 @@
+ 		status = "okay";
+ 	};
+ };
++
++&rtc {
++	system-power-controller;
++};
+-- 
+2.1.4
+
diff --git a/patches/reverts/0002-Revert-spi-spidev-Warn-loudly-if-instantiated-from-D.patch b/patches/reverts/0002-Revert-spi-spidev-Warn-loudly-if-instantiated-from-D.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e651ea8bae0d3d0ca6a79658321d426b6e99a5fc
--- /dev/null
+++ b/patches/reverts/0002-Revert-spi-spidev-Warn-loudly-if-instantiated-from-D.patch
@@ -0,0 +1,65 @@
+From feb3ee6d9a522fa26b99c0473234b07977420e9f Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Mon, 1 Jun 2015 08:41:52 -0500
+Subject: [PATCH 2/2] Revert "spi: spidev: Warn loudly if instantiated from DT
+ as "spidev""
+
+This reverts commit 956b200a846e324322f6211034c734c65a38e550.
+---
+ drivers/spi/spidev.c | 26 +++++++-------------------
+ 1 file changed, 7 insertions(+), 19 deletions(-)
+
+diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c
+index 92c909e..23ad978 100644
+--- a/drivers/spi/spidev.c
++++ b/drivers/spi/spidev.c
+@@ -703,14 +703,6 @@ static const struct file_operations spidev_fops = {
+ 
+ static struct class *spidev_class;
+ 
+-#ifdef CONFIG_OF
+-static const struct of_device_id spidev_dt_ids[] = {
+-	{ .compatible = "rohm,dh2228fv" },
+-	{},
+-};
+-MODULE_DEVICE_TABLE(of, spidev_dt_ids);
+-#endif
+-
+ /*-------------------------------------------------------------------------*/
+ 
+ static int spidev_probe(struct spi_device *spi)
+@@ -719,17 +711,6 @@ static int spidev_probe(struct spi_device *spi)
+ 	int			status;
+ 	unsigned long		minor;
+ 
+-	/*
+-	 * spidev should never be referenced in DT without a specific
+-	 * compatbile string, it is a Linux implementation thing
+-	 * rather than a description of the hardware.
+-	 */
+-	if (spi->dev.of_node && !of_match_device(spidev_dt_ids, &spi->dev)) {
+-		dev_err(&spi->dev, "buggy DT: spidev listed directly in DT\n");
+-		WARN_ON(spi->dev.of_node &&
+-			!of_match_device(spidev_dt_ids, &spi->dev));
+-	}
+-
+ 	/* Allocate driver data */
+ 	spidev = kzalloc(sizeof(*spidev), GFP_KERNEL);
+ 	if (!spidev)
+@@ -796,6 +777,13 @@ static int spidev_remove(struct spi_device *spi)
+ 	return 0;
+ }
+ 
++static const struct of_device_id spidev_dt_ids[] = {
++	{ .compatible = "rohm,dh2228fv" },
++	{},
++};
++
++MODULE_DEVICE_TABLE(of, spidev_dt_ids);
++
+ static struct spi_driver spidev_spi_driver = {
+ 	.driver = {
+ 		.name =		"spidev",
+-- 
+2.1.4
+
diff --git a/version.sh b/version.sh
index 4dfcdb84b9e68c45df7f4aebaa5f11c358caa957..486c3041a8a7fc15295c4e803238421a78ac1ea4 100644
--- a/version.sh
+++ b/version.sh
@@ -14,7 +14,7 @@ toolchain="gcc_linaro_gnueabihf_4_9"
 #Kernel/Build
 KERNEL_REL=4.1
 KERNEL_TAG=${KERNEL_REL}-rc6
-BUILD=bone4
+BUILD=bone5
 
 #v3.X-rcX + upto SHA
 #prev_KERNEL_SHA=""