772a550880d4860ac6639807355a604bc0a65cb1
[15.05/openwrt.git] / target / linux / brcm2708 / patches-3.18 / 0070-Adding-w1-gpio-device-tree-overlays.patch
1 From 2fea9b14e39bd6c64e362ba7d170b67d09206987 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Thu, 15 Jan 2015 10:39:06 +0000
4 Subject: [PATCH 070/114] Adding w1-gpio device tree overlays
5
6 N.B. Requires firmware supporting multi-target overrides
7
8 w1-gpio-overlay:
9   Use if a pullup pin is not required.
10   Parameters:
11     gpiopin=<i/o pin>     // default 4
12
13 w1-gpio-pullup-overlay:
14   Use if a pullup pin is required.
15   Parameters:
16     gpiopin=<i/o pin>     // default 4
17     pullup=<pullup pin>   // default 5
18 ---
19  arch/arm/boot/dts/w1-gpio-overlay.dts        | 37 ++++++++++++++++++++++++++
20  arch/arm/boot/dts/w1-gpio-pullup-overlay.dts | 39 ++++++++++++++++++++++++++++
21  2 files changed, 76 insertions(+)
22  create mode 100644 arch/arm/boot/dts/w1-gpio-overlay.dts
23  create mode 100644 arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
24
25 diff --git a/arch/arm/boot/dts/w1-gpio-overlay.dts b/arch/arm/boot/dts/w1-gpio-overlay.dts
26 new file mode 100644
27 index 0000000..b2c5ee2
28 --- /dev/null
29 +++ b/arch/arm/boot/dts/w1-gpio-overlay.dts
30 @@ -0,0 +1,37 @@
31 +// Definitions for lirc-rpi module
32 +/dts-v1/;
33 +/plugin/;
34 +
35 +/ {
36 +       compatible = "brcm,bcm2708";
37 +
38 +       fragment@0 {
39 +               target-path = "/";
40 +               __overlay__ {
41 +
42 +                       w1: onewire@0 {
43 +                               compatible = "w1-gpio";
44 +                               pinctrl-names = "default";
45 +                               pinctrl-0 = <&w1_pins>;
46 +                               gpios = <&gpio 4 0>;
47 +                               status = "okay";
48 +                       };
49 +               };
50 +       };
51 +
52 +       fragment@1 {
53 +               target = <&gpio>;
54 +               __overlay__ {
55 +                       w1_pins: w1_pins {
56 +                               brcm,pins = <4>;
57 +                               brcm,function = <0>; // in (initially)
58 +                               brcm,pull = <0>; // off
59 +                       };
60 +               };
61 +       };
62 +
63 +       __overrides__ {
64 +               gpiopin =       <&w1>,"gpios:4",
65 +                               <&w1_pins>,"brcm,pins:0";
66 +       };
67 +};
68 diff --git a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
69 new file mode 100644
70 index 0000000..b3e97c2
71 --- /dev/null
72 +++ b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
73 @@ -0,0 +1,39 @@
74 +// Definitions for lirc-rpi module
75 +/dts-v1/;
76 +/plugin/;
77 +
78 +/ {
79 +       compatible = "brcm,bcm2708";
80 +
81 +       fragment@0 {
82 +               target-path = "/";
83 +               __overlay__ {
84 +
85 +                       w1: onewire@0 {
86 +                               compatible = "w1-gpio";
87 +                               pinctrl-names = "default";
88 +                               pinctrl-0 = <&w1_pins>;
89 +                               gpios = <&gpio 4 0>, <&gpio 5 1>;
90 +                               status = "okay";
91 +                       };
92 +               };
93 +       };
94 +
95 +       fragment@1 {
96 +               target = <&gpio>;
97 +               __overlay__ {
98 +                       w1_pins: w1_pins {
99 +                               brcm,pins = <4 5>;
100 +                               brcm,function = <0 1>; // in out
101 +                               brcm,pull = <0 0>; // off off
102 +                       };
103 +               };
104 +       };
105 +
106 +       __overrides__ {
107 +               gpiopin =       <&w1>,"gpios:4",
108 +                               <&w1_pins>,"brcm,pins:0";
109 +               pullup =        <&w1>,"gpios:16",
110 +                               <&w1_pins>,"brcm,pins:4";
111 +       };
112 +};
113 -- 
114 1.8.3.2
115