Hi Guys -
Thanks so much for your responses. Sorry for the delay, lots going on...
so just to update you, we have the version 4.4 almost running except forthe spi0 chip select error behavior I have described earlier.
We are currently committed to the 3.8 version for internal reasons and it is working. we do need to move to the newer version and that is what this discussion is about. We did try later versions (4.14) previously but because we are quite embedded with the cape manager and we had numerous errors at boot (I believe) we migrated to version 4.4 that supports the cape manager, which is where we are now.
we fully intend to move the later versions but are very close with 4.4 so will likely try to make that work then move to 4.14 and ultimately buster or what ever is current . the reason is that 4.4 will give us access to resources that 3.8 did not .
so I need some clarification on the device tree side of things. it is my understanding that I need to load device trees to make the connection between the kernel drivers and the physical hardware and to set up the physical hardware as well.
the connection to the kernel driver is done through the compatible entry in the device tree which in our case points to SPIDEV.
thus it is necessary to load the device tree to make this happen.
when I follow the boot sequence, U-boot loads
/boot/dtbs/4.4.113-ti-r145/am335x-boneblack-uboot.dtb
and it contains a reference to load an ocp related driver which i assume is the one that we have a collision with
/ocp/spi@48030000/channel@0
what is the relationship of the /ocp/.... driver structure to the /dev/spidev driver structure? This is a fundamental question that I have not been able to find the answer to?
I think that I need to disable the spi references in the
/boot/dtbs/4.4.113-ti-r145/am335x-boneblack-uboot.dtband that should get me past the problem but iI am not clear on why they are not existing co0peratively...
By the way i get the same behavior (spi driver pin collision) when I use the beagle bone supplied BB-SPIDEV0-00A0.dts device tree.
I appreciate that you might not want to debug such an old problem but if you could help me to understand what the structure relationships are or point me to some material that would help my understanding that would be a big help.
Regarding the newer versions of the OS , I wonder if there is a reference uEnv.txt file that shows how to load a device tree from UBoot correctly . My understanding is that cape-universal should be disabled.
Per your comments dennis - I assume blank the emmc is done by using something like dd comand to write 0's to to the eemc. please advise.
Thanks guys - I really appreciate any help I can get.
Cheers
Mark