--------
Post by Poul-Henning KampDoes anybody have a working example of getting onewire sensors
working on beagleboneblack ?
Ok, with some hints from the usual IRC channel I managed to figure it out:
cd /boot/dfb
mv am335x-boneblack.dtb _am335x-boneblack.dtb
dtc -I dtb -O dts -o am335x-boneblack.dts _am335x-boneblack.dtb
patch am335x-boneblack.dts (see below)
dtc -I dts -O dtb -o am335x-boneblack.dtb am335x-boneblack.dts
echo "owc_load=YES" >> /boot/loader.conf
echo "ow_load=YES" >> /boot/loader.conf
echo "ow_temp_load=YES" >> /boot/loader.conf
The patching of am335x-boneblack.dts is black magic, but this patch
worked for me:
***@beaglebone:/boot/dtb # diff -u *dts
--- _am335x-boneblack.dts 2017-07-21 11:24:18.229468000 +0000
+++ am335x-boneblack.dts 2017-07-21 19:19:35.166447000 +0000
@@ -2149,6 +2149,14 @@
status = "disabled";
};
+ // first number (0x36, 0x4b) refers to "phandle" of gpio#
+ // second number is bit on that *cpu* GPIO
+ // not sure if the third matter, but 1 works.
+ onewire0 { compatible = "w1-gpio"; gpios = <0x36 30 1>; }; // P9::11
+ onewire1 { compatible = "w1-gpio"; gpios = <0x36 31 1>; }; // P9::13
+ onewire2 { compatible = "w1-gpio"; gpios = <0x4b 16 1>; }; // P9::15
+ onewire3 { compatible = "w1-gpio"; gpios = <0x36 3 1>; }; // P9::21
+
__symbols__ {
l4_wkup = "/ocp/***@44c00000";
wkup_m3 = "/ocp/***@44c00000/***@100000";
Either device tree overlays just plain don't work, I can't figure out how to
write them (p=0.5).
I sure get why getting people hooked on FreeBSD with RPi's and
BeagleBones is not happening :-/
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
***@FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.