From 2fea9b14e39bd6c64e362ba7d170b67d09206987 Mon Sep 17 00:00:00 2001 From: Phil Elwell 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= // default 4 w1-gpio-pullup-overlay: Use if a pullup pin is required. Parameters: gpiopin= // default 4 pullup= // 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