I'm trying to interface to the ATECC108 but I'm not running linux.  Main 
issue I've run into is trying to wake up the chip, which requires holding 
SDA low for at least 60 usec.  This is tricky because the AM335x I2C 
controller won't send any data to the bus without sending an address first, 
and if it doesn't get an ACK after sending the address it won't send any 
data, just aborts the transaction with a STOP condition.

In the libcrypti2c code you have a function ci2c_wakeup() that sends two 0 
bytes to the device.  How do you get the AM335x to send those bytes, if the 
device is asleep and thus won't ACK the address?  Or are you doing the same 
thing I've found, which is that the low bits in the device address happen 
to hold SDA low *just *long enough to wake up the chip?  (I keep hoping 
there's a better solution, not involving any bitbanging.  Maybe there 
isn't.)

-- 
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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to