> On Dec 16, 2015, at 3:13 PM, Kenneth Martin <[email protected]> wrote:
> 
> John, I haven't heard of McSPI, but I'm running the SPI from a python program 
> on the Arm side based on some Pyside Qt controllers, I'm using the PRU for a 
> logic analyzer and the logic analyzer pins are not available for the SPI, so 
> this could be the reason. I may also use the PRU IEP timer in the future for 
> some fine timing but I don't think this is relevant.
McSPI (Multichannel Serial Port Interface) is the name TI use to refer to their 
SPI peripheral. The PRU can access almost all the peripheral devices available 
on the processor. In addition, the PRU has a dedicated serial port and ethernet 
port from what I remember. I’m not sure I have seen any PRu code for ethernet.

Regards,
John
> On 2015-12-16 04:53 PM, John Syne wrote:
>> No need to bitbang unless you want additional SPI ports available. Simply 
>> use the McSPI port controlled from the PRU.
>> 
>> Regards,
>> John
>> 
>> 
>> 
>> 
>>> On Dec 16, 2015, at 1:37 PM, William Hermans <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Normally SPI's are good up to 100MHz, but this is seldom needed. I normally 
>>> set them up at 1MHz for initial debug (allows for cheaper instruments) and 
>>> then usually go to 10MHz which normally makes speed a non-issue and allows 
>>> for longer wires. 16MHz should be fine as well. I2C's often run around 1MHz 
>>> and are very dependent on length (i.e. capacitance). One needs to keep I2Cs 
>>> high when not used to minimize power due to pull-ups. SPI's, once you get 
>>> them going, are generally a better choice.
>>> 
>>> SPI through the PRU seems to be limited at around 21.2Mhz. At least an 
>>> implementation I was just reading about. It seemed that the author was bit 
>>> banging however. Using the other PRU core for the clk timer as well.
>>> 
>>> On Wed, Dec 16, 2015 at 12:49 PM, Robert Nelson < 
>>> <mailto:[email protected]>[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> > Currently I'm fighting with WiFi; I had scripts to detect the wlanx device
>>> > using iw dev | grep "Interface" | awk '{printf $2}' but this is failing at
>>> > boot; it works fine after boot. I tried hard coding the wlanx device, but
>>> > now it seems to change; when I specify wlan0, it comes up as wlan1, and 
>>> > vice
>>> > versa? It seems wireless networking changed somewhat from my previous
>>> > version, and I haven't tracked down what yet. So wireless first, apt-gets
>>> > second, pips third, device trees fourth, prus fifth, and then tracking 
>>> > down
>>> > why previously debugged software stopped working. It might be interesting 
>>> > to
>>> > keep track of how many issues come up.
>>> 
>>> Sounds like the wifi device has a mac that changes..
>>> 
>>> Right a udev rule to push it back to wlan0..
>>> 
>>> here's an example of a udev rule we used on teh bbb's for the eth0:
>>> 
>>> https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Networking:UsingasharedSDcardwithMultipleBeagleBone
>>>  
>>> <https://eewiki.net/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-Networking:UsingasharedSDcardwithMultipleBeagleBone>
>>> 
>>> For example, enp2s0 on my desktop:
>>> 
>>> $ sudo udevadm info -a /sys/class/net/enp2s0
>>> 
>>> Udevadm info starts with the device specified by the devpath and then
>>> walks up the chain of parent devices. It prints for every device
>>> found, all possible attributes in the udev rules key format.
>>> A rule to match, can be composed by the attributes of the device
>>> and the attributes from one single parent device.
>>> 
>>>   looking at device 
>>> '/devices/pci0000:00/0000:00:15.0/0000:02:00.0/net/enp2s0':
>>>     KERNEL=="enp2s0"
>>>     SUBSYSTEM=="net"
>>>     DRIVER==""
>>>     ATTR{addr_assign_type}=="0"
>>>     ATTR{addr_len}=="6"
>>>     ATTR{address}=="bc:5f:f4:e5:9d:83"
>>>     ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
>>>     ATTR{carrier}=="1"
>>>     ATTR{carrier_changes}=="1"
>>>     ATTR{dev_id}=="0x0"
>>>     ATTR{dev_port}=="0"
>>>     ATTR{dormant}=="0"
>>>     ATTR{duplex}=="full"
>>>     ATTR{flags}=="0x1003"
>>>     ATTR{gro_flush_timeout}=="0"
>>>     ATTR{ifalias}==""
>>>     ATTR{ifindex}=="2"
>>>     ATTR{iflink}=="2"
>>>     ATTR{link_mode}=="0"
>>>     ATTR{mtu}=="1500"
>>>     ATTR{name_assign_type}=="4"
>>>     ATTR{netdev_group}=="0"
>>>     ATTR{operstate}=="up"
>>>     ATTR{speed}=="1000"
>>>     ATTR{tx_queue_len}=="1000"
>>>     ATTR{type}=="1"
>>> 
>>>   looking at parent device '/devices/pci0000:00/0000:00:15.0/0000:02:00.0':
>>>     KERNELS=="0000:02:00.0"
>>>     SUBSYSTEMS=="pci"
>>>     DRIVERS=="alx"
>>>     ATTRS{broken_parity_status}=="0"
>>>     ATTRS{class}=="0x020000"
>>>     ATTRS{consistent_dma_mask_bits}=="64"
>>>     ATTRS{d3cold_allowed}=="1"
>>>     ATTRS{device}=="0x10a1"
>>>     ATTRS{dma_mask_bits}=="64"
>>>     ATTRS{driver_override}=="(null)"
>>>     ATTRS{enable}=="1"
>>>     ATTRS{irq}=="38"
>>>     ATTRS{local_cpulist}=="0-3"
>>>     ATTRS{local_cpus}=="f"
>>>     ATTRS{msi_bus}=="1"
>>>     ATTRS{numa_node}=="-1"
>>>     ATTRS{subsystem_device}=="0x10a1"
>>>     ATTRS{subsystem_vendor}=="0x1849"
>>>     ATTRS{vendor}=="0x1969"
>>> 
>>>   looking at parent device '/devices/pci0000:00/0000:00:15.0':
>>>     KERNELS=="0000:00:15.0"
>>>     SUBSYSTEMS=="pci"
>>>     DRIVERS=="pcieport"
>>>     ATTRS{broken_parity_status}=="0"
>>>     ATTRS{class}=="0x060400"
>>>     ATTRS{consistent_dma_mask_bits}=="32"
>>>     ATTRS{d3cold_allowed}=="0"
>>>     ATTRS{device}=="0x43a0"
>>>     ATTRS{dma_mask_bits}=="32"
>>>     ATTRS{driver_override}=="(null)"
>>>     ATTRS{enable}=="1"
>>>     ATTRS{irq}=="24"
>>>     ATTRS{local_cpulist}=="0-3"
>>>     ATTRS{local_cpus}=="f"
>>>     ATTRS{msi_bus}=="1"
>>>     ATTRS{numa_node}=="-1"
>>>     ATTRS{subsystem_device}=="0x0000"
>>>     ATTRS{subsystem_vendor}=="0x1022"
>>>     ATTRS{vendor}=="0x1022"
>>> 
>>>   looking at parent device '/devices/pci0000:00':
>>>     KERNELS=="pci0000:00"
>>>     SUBSYSTEMS==""
>>>     DRIVERS==""
>>> 
>>> 
>>> Regards,
>>> 
>>> --
>>> Robert Nelson
>>> https://rcn-ee.com/ <https://rcn-ee.com/>
>>> 
>>> --
>>> For more options, visit http://beagleboard.org/discuss 
>>> <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  
>>> <mailto:beagleboard%[email protected]>[email protected]
>>>  <mailto:[email protected]>.
>>> For more options, visit  
>>> <https://groups.google.com/d/optout>https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>>> 
>>> 
>>> -- 
>>> For more options, visit http://beagleboard.org/discuss 
>>> <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] 
>>> <mailto:[email protected]>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>> 
>> -- 
>> For more options, visit http://beagleboard.org/discuss 
>> <http://beagleboard.org/discuss>
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "BeagleBoard" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/beagleboard/tdt1TTix7aE/unsubscribe 
>> <https://groups.google.com/d/topic/beagleboard/tdt1TTix7aE/unsubscribe>.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected] 
>> <mailto:[email protected]>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> For more options, visit http://beagleboard.org/discuss 
> <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] 
> <mailto:[email protected]>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to