Per Jessen wrote:

>> You need to update your DTB, or create a fragment and merge it with
>> your current DT. Then, use this new DTB to boot your board.
> 
> Right.  It's good to get my suspicions confirmed, makes it easier to
> move in the right direction.

Thanks to Guillaume for getting me on the track.  To those who might be
watching this thread - yes, it's working now!  

Status:  I'm reading three DS18x20 sensors connected to GPIO11.  I'm
getting mostly good readings, but also quite a few bad ones (temp 85C). 

I'll update the wiki-page as well as write an entry on my own blog, but
for those impatiently waiting - 

I based everything on the DTB from the FriendlyCore eflasher image. It
has way more stuff than we have in the openSUSE JeOS ditto.  I guess
the source is also available somewhere, but I started out with
decompiling to DTS. 

a) Look for the entry "pinctrl@01c20800" and add a label 'gpio0:'

gpio0:pinctrl@01c20800

b) in this section, for instance above the 'csi' entry, add the
following:

ds1820_pins:w1_pins@0 {
             label = "Dallas 1-wire";
             pins = "PG11";
             function = "gpio_in";
             pull = <0x1>;
             };

c) towards the end of the file, add this node:

onewire {
         compatible = "w1-gpio";
         pinctrl-names = "default";
         pinctrl-0 = <&ds1820_pins>;
         gpios = <&gpio0 0x0 203 0x1>;
         status = "okay";
};

I added it after the "leds" node.  

compile a new dtb:

dtc -b 0 -@ -I dts -O dtb your-new.dts >/boot/dtb/your-new.dtb

adjust your boot-script and reboot.  

I am most certainly not very familiar with all of this, and it took a
lot of trial & error.  Corrections and suggestions are very much
welcome. 

For module 'w1-therm', I ended up adding 'strong_pullup=2' which reduced
the number of bad readings, a lot. 


-- 
Per Jessen, Zürich (0.4°C)
http://www.dns24.ch/ - free dynamic DNS, made in Switzerland.

--
To unsubscribe, e-mail: [email protected]
To contact the owner, e-mail: [email protected]

Reply via email to