Re: Onewire on BeagleBoneBlack example ?

From: Poul-Henning Kamp <phk_at_phk.freebsd.dk>
Date: Wed, 20 Dec 2017 22:58:08 +0000
--------
In message <97808.1513774311_at_critter.freebsd.dk>, Poul-Henning Kamp writes:

>Does 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:

	root_at_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
	_at__at_ -2149,6 +2149,14 _at__at_
			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/l4_wkup_at_44c00000";
			wkup_m3 = "/ocp/l4_wkup_at_44c00000/wkup_m3_at_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
phk_at_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.
Received on Wed Dec 20 2017 - 22:06:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC