On Sat, Mar 2, 2019 at 8:23 AM <[email protected]> wrote:
>
> I have a prototype cape with the EEROM programmed as follows:
>
> root@beaglebone2GB:/home/john/One-Wire# cat 
> /sys/bus/i2c/devices/1-0057/eeprom | hexdump -C
> 00000000  aa 55 33 ee 41 30 4f 6e  65 57 69 72 65 20 70 6c  |.U3.A0OneWire pl|
> 00000010  75 73 20 43 41 4e 62 75  73 00 00 00 00 00 00 00  |us CANbus.......|
> 00000020  00 00 00 00 00 00 30 30  41 30 41 75 74 6f 41 72  |......00A0AutoAr|
> 00000030  74 69 73 61 6e 73 20 49  6e 63 42 42 2d 57 31 2d  |tisans IncBB-W1-|
> 00000040  50 38 2e 31 31 00 00 00  00 00 00 00 00 00 00 00  |P8.11...........|
> 00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
> *
> 00000130  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
> *
> 00008000
> r
>
> Needless to say with the demise of the $SLOTS concept this tutorial is no 
> longer valid so I'd like to rewrite it so it is valid.
> https://www.cs.sfu.ca/CourseCentral/433/bfraser/other/2016-student-howtos/DS18B20Thermometer.pdf
>
> Using this dts as a guide
> https://github.com/beagleboard/bb.org-overlays/blob/5741f63c1ee922333dca02d9763edae03d477c96/src/arm/BB-CAN0-00A0.dts
>
> I've modified the BB-W1-P9.12-00A0.dts to become BB-W1-P8.11-00A0.dts shown 
> below.
>
> debian@ebb:~/bb.org-overlays/src/arm$ cat BB-W1-P8.11*
> /*
>  * Copyright (C) 2015 Robert Nelson <[email protected]>
>  *
>  * Virtual cape for onewire on connector pin P8.11
>  * derived from BB-W1-P9.12-00A0.dts
>  *  by John Dammeyer MAR2019
>  *
>  * This program is free software; you can redistribute it and/or modify
>  * it under the terms of the GNU General Public License version 2 as
>  * published by the Free Software Foundation.
>  */
>
> /dts-v1/;
> /plugin/;
>
> #include <dt-bindings/board/am335x-bbw-bbb-base.h>
> #include <dt-bindings/gpio/gpio.h>
> #include <dt-bindings/pinctrl/am33xx.h>
>
> / {
>         compatible = "ti,beaglebone", "ti,beaglebone-black", 
> "ti,beaglebone-green";
>
>         /* identification */
>         part-number = "BB-W1-P8.11";
>         version = "00A0";
>
>         /* state the resources this cape uses */
>         exclusive-use =
>                 /* the pin header uses */
>                 "P8.11";
>
>         /*
>          * Free up the pins used by the cape from the pinmux helpers.
>          */
>         fragment@0 {
>                 target = <&ocp>;
>                 __overlay__ {
>                         P8_11_pinmux { status = "disabled"; };
>                 };
>         };
>
>         fragment@1 {
>                 target = <&am33xx_pinmux>;
>                 __overlay__ {
>
>                         dallas_w1_pins: pinmux_dallas_w1_pins {
>                                 pinctrl-single,pins = <
>                                         BONE_P8_11 0x37
>                                 >;
>                         };
>                 };
>         };
>
>         fragment@2 {
>                 target-path="/";
>                 __overlay__ {
>
>                         onewire {
>                                 status = "okay";
>                                 pinctrl-names = "default";
>                                 pinctrl-0 = <&dallas_w1_pins>;
>
>                                 compatible = "w1-gpio";
>                                 gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
>                         };
>                 };
>         };
> };
>
> Next, following the document I ran ./install.sh from the 
> debian@ebb:~/bb.org-overlays$ folder which ran DTS on each of the files and 
> then copied them to /lib/firmware and then created a new initramfs.  With a 
> few warnings.
>
> update-initramfs: Generating /boot/initrd.img-4.14.94-ti-94
> WARNING: Setting CRYPTSETUP in /etc/initramfs-tools/initramfs.conf is 
> deprecated and will stop working in the future. Use 
> /etc/cryptsetup-initramfs/conf-hook instead.
> cryptsetup: WARNING: failed to detect canonical device of /dev/mmcblk0p1
> cryptsetup: WARNING: could not determine root device from /etc/fstab
> './tools/beaglebone-universal-io/config-pin' -> 
> '/usr/local/bin/config-pin'cape overlays have been built and added to 
> /lib/firmware & /boot/initrd.img-4.14.94-ti-r94, please reboot
>
> Not sure about those errors.

Well it's a warning for cryptsetup, are you using cryptsetup??

>  At this point I'm guessing the echo > $SLOTS isn't needed since the new dtbo 
> is now part of the initramfs image has it as part of the boot process.

Actually this is for the old "slots" too..

> Plugging in the cape and starting up the beagle should theoretically then 
> make a One Wire device available on pin P8.11?

Plug in a debug cable into J1 and dump the U-Boot serial log and we
can find out..

> If the DTS file included the definitions from the example  BB-CAN0-00A0.dts 
> and the prototype board contained a CAN bus bus driver connected to P9.19, 
> P9.20 would, on power up those pins then be used by the One Wire code and the 
> CAN bus code?

Yes,

> Is the difference then that a rebuilding of the initrd image is required for 
> creating custom capes?  Is there a short cut?

The initrd is not required for u-boot overlays.

> Am I right that this is way more difficult than the echo to $SLOTS since it 
> involves a build and reboot after each edit while developing the custom cape 
> dts file?

No you are incorrect, it's the "same"..  In the old days after you
echo a slot, and then decide to "remove it", you'd have to reboot
anyways as the echo 0 would eventually cause an oops..

> Again, is there an easier way rather than compiling every single dts file 
> with the ./install.sh script?

./install.sh is just for the lazy, so it does everything, just run

make src/arm/BB-W1-P8.11-00A0.dtbo
sudo make install

Regards,

-- 
Robert Nelson
https://rcn-ee.com/

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/CAOCHtYiU1x2Xx1SniNFg4j0D2hCKz2Czj9fDM1q86NcBXQYLkQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to