brcm2708: update to v3.18
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-3.18 / 0070-Adding-w1-gpio-device-tree-overlays.patch
diff --git a/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch b/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
new file mode 100755 (executable)
index 0000000..772a550
--- /dev/null
@@ -0,0 +1,115 @@
+From 2fea9b14e39bd6c64e362ba7d170b67d09206987 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 15 Jan 2015 10:39:06 +0000
+Subject: [PATCH 070/114] Adding w1-gpio device tree overlays
+
+N.B. Requires firmware supporting multi-target overrides
+
+w1-gpio-overlay:
+  Use if a pullup pin is not required.
+  Parameters:
+    gpiopin=<i/o pin>     // default 4
+
+w1-gpio-pullup-overlay:
+  Use if a pullup pin is required.
+  Parameters:
+    gpiopin=<i/o pin>     // default 4
+    pullup=<pullup pin>   // default 5
+---
+ arch/arm/boot/dts/w1-gpio-overlay.dts        | 37 ++++++++++++++++++++++++++
+ arch/arm/boot/dts/w1-gpio-pullup-overlay.dts | 39 ++++++++++++++++++++++++++++
+ 2 files changed, 76 insertions(+)
+ create mode 100644 arch/arm/boot/dts/w1-gpio-overlay.dts
+ create mode 100644 arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
+
+diff --git a/arch/arm/boot/dts/w1-gpio-overlay.dts b/arch/arm/boot/dts/w1-gpio-overlay.dts
+new file mode 100644
+index 0000000..b2c5ee2
+--- /dev/null
++++ b/arch/arm/boot/dts/w1-gpio-overlay.dts
+@@ -0,0 +1,37 @@
++// Definitions for lirc-rpi module
++/dts-v1/;
++/plugin/;
++
++/ {
++      compatible = "brcm,bcm2708";
++
++      fragment@0 {
++              target-path = "/";
++              __overlay__ {
++
++                      w1: onewire@0 {
++                              compatible = "w1-gpio";
++                              pinctrl-names = "default";
++                              pinctrl-0 = <&w1_pins>;
++                              gpios = <&gpio 4 0>;
++                              status = "okay";
++                      };
++              };
++      };
++
++      fragment@1 {
++              target = <&gpio>;
++              __overlay__ {
++                      w1_pins: w1_pins {
++                              brcm,pins = <4>;
++                              brcm,function = <0>; // in (initially)
++                              brcm,pull = <0>; // off
++                      };
++              };
++      };
++
++      __overrides__ {
++              gpiopin =       <&w1>,"gpios:4",
++                              <&w1_pins>,"brcm,pins:0";
++      };
++};
+diff --git a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
+new file mode 100644
+index 0000000..b3e97c2
+--- /dev/null
++++ b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
+@@ -0,0 +1,39 @@
++// Definitions for lirc-rpi module
++/dts-v1/;
++/plugin/;
++
++/ {
++      compatible = "brcm,bcm2708";
++
++      fragment@0 {
++              target-path = "/";
++              __overlay__ {
++
++                      w1: onewire@0 {
++                              compatible = "w1-gpio";
++                              pinctrl-names = "default";
++                              pinctrl-0 = <&w1_pins>;
++                              gpios = <&gpio 4 0>, <&gpio 5 1>;
++                              status = "okay";
++                      };
++              };
++      };
++
++      fragment@1 {
++              target = <&gpio>;
++              __overlay__ {
++                      w1_pins: w1_pins {
++                              brcm,pins = <4 5>;
++                              brcm,function = <0 1>; // in out
++                              brcm,pull = <0 0>; // off off
++                      };
++              };
++      };
++
++      __overrides__ {
++              gpiopin =       <&w1>,"gpios:4",
++                              <&w1_pins>,"brcm,pins:0";
++              pullup =        <&w1>,"gpios:16",
++                              <&w1_pins>,"brcm,pins:4";
++      };
++};
+-- 
+1.8.3.2
+