Re: Onewire on BeagleBoneBlack example ?

2017-12-20 Thread Poul-Henning Kamp

In message <1513812077.77378.10.ca...@freebsd.org>, Ian Lepore writes:

>For years, folks have been espousing the value of getting people hooked
>on freebsd via rpi and beaglebone, 

I'm personally not that convinced about the value, for a number of
complex and interlocking reasons and I was merely noting that I
could see why it isn't happening - value or not.

Poul-Henning

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
p...@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.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Onewire on BeagleBoneBlack example ?

2017-12-20 Thread Ian Lepore
On Wed, 2017-12-20 at 22:58 +, Poul-Henning Kamp wrote:
> 
> In message <97808.1513774...@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@beaglebone:/boot/dtb # diff -u *dts
>   --- _am335x-boneblack.dts   2017-07-21 11:24:18.229468000 +
>   +++ am335x-boneblack.dts2017-07-21 19:19:35.166447000 +
>   @@ -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/l4_wkup@44c0";
>   wkup_m3 = "/ocp/l4_wkup@44c0/wkup_m3@10";
> 
> 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 :-/
> 

That 3rd number in gpios= describes pin attributes:

/* Bit 0 express polarity */
#define GPIO_ACTIVE_HIGH 0
#define GPIO_ACTIVE_LOW 1

/* Bit 1 express single-endedness */
#define GPIO_PUSH_PULL 0
#define GPIO_SINGLE_ENDED 2


If you #include  in the dts source you can
just use the symbolic names.

For years, folks have been espousing the value of getting people hooked
on freebsd via rpi and beaglebone, but somehow those folks never end up
doing a lot of committing of arm code that advances that goal, they
just keep saying what a laudable goal it is.  The people who do work on
arm code mostly aren't all that interested in rpi or beaglebone, so we
fight the fires that are reported, and commit code contributed by
others, but don't do much optional work on them.

-- Ian

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Onewire on BeagleBoneBlack example ?

2017-12-20 Thread Poul-Henning Kamp

In message <97808.1513774...@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@beaglebone:/boot/dtb # diff -u *dts
--- _am335x-boneblack.dts   2017-07-21 11:24:18.229468000 +
+++ am335x-boneblack.dts2017-07-21 19:19:35.166447000 +
@@ -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/l4_wkup@44c0";
wkup_m3 = "/ocp/l4_wkup@44c0/wkup_m3@10";

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
p...@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.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Onewire on BeagleBoneBlack example ?

2017-12-20 Thread Poul-Henning Kamp
Does anybody have a working example of getting onewire sensors
working on beagleboneblack ?

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
p...@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.
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"