Thanks Robert,

I am not using cryptsetup.

I received my second edition of Derek Molloy's Exploring Beaglebone and 
decided to start over from scratch.  New MicroSD and latest rev.  Work 
through the chapters from the start setting up as if I was a brand new 
novice user.  Even to setting the device name to 'ebb'.  

debian@ebb:~$ uname -a
Linux ebb 4.14.94-ti-r94 #1 SMP PREEMPT Thu Feb 21 23:29:48 UTC 2019 armv7l 
GNU/Linux
debian@ebb:~$ cat /etc/dogtag
BeagleBoard.org Debian Image 2018-10-07

I was disappointed when I reached page 272 "Flattened Device Tree..." Where 
his first revision book went into more detail on how to look at devices 
this revision is just a superficial overview.  Net research for the most 
part, except what I posted below, is all for the old slots approach.  Even 
Derek's blog on this is from 2016 and hasn't been touched.

Without a $SLOTS for example, how does one look to see if the cape has been 
recognized.  
You mention uboot serial log?  Which one is that and where is it?  For the 
tutorial I am writing I'd like to include what to type and why.

One of the things I'm trying to achieve for this 2GB Beaglebone (and may 
well be possible) is the ability to power it down and plug in say the Logic 
Supply CBB-Serial Cape and have it recognize that the CAN bus now uses the 
pins that were general I/O.  
Power down and plug in a different cape like the Logic Supply CBB-Proto 
which has an EEROM and perhaps a combination of Dallas One Wire(DS1822), 
SPI (small LCD display) and CAN drivers/devices and that it automatically 
can capture those pins.
All without having to recompile or rebuild anything.
And my tutorial will take a new user through the process including how to 
create the information in the EEROM on the cape.
Regards
John Dammeyer



On Saturday, March 2, 2019 at 6:23:19 AM UTC-8, [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 <robertcnelson at gmail dot com>
>  *
>  * 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.  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.
>
> Plugging in the cape and starting up the beagle should theoretically then 
> make a One Wire device available on pin P8.11?
>
> If the DTS file included the definitions from the example  
> BB-CAN0-00A0.dts 
> <https://github.com/beagleboard/bb.org-overlays/commit/5741f63c1ee922333dca02d9763edae03d477c96>
>  
> 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?
>
> Is the difference then that a rebuilding of the initrd image is required 
> for creating custom capes?  Is there a short cut?
>
> 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?  
> Again, is there an easier way rather than compiling every single dts file 
> with the ./install.sh script?
>
> Thanks
> John Dammeyer
>

-- 
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/18a10eb3-8c5e-4021-9103-3d4bf9470272%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to