Three-wire serial interface.
The Atmel three-wire interface is a subset of the (newer) SPI interface, and is implemented here as a layer on top of the SPI support.
Definition in file threewire.h.
| int threewire_read |
( |
struct nvs_device * | nvs, |
|
|
unsigned int | address, |
|
|
void * | data, |
|
|
size_t | len ) |
|
extern |
Read data from three-wire device.
- Parameters
-
| nvs | NVS device |
| address | Address from which to read |
| data | Data buffer |
| len | Length of data buffer |
- Return values
-
Definition at line 48 of file threewire.c.
49 {
53
55
56 DBGC (
device,
"3wire %p reading %zd bytes at %04x\n",
58
61 DBGC (
device,
"3wire %p could not read: %s\n",
64 }
65
66 return 0;
67}
#define NULL
NULL pointer (VOID *)
struct arbelprm_rc_send_wqe rc
#define assert(condition)
Assert a condition at run-time.
uint8_t data[48]
Additional event data.
uint64_t address
Base address.
#define THREEWIRE_READ
Read data from memory array.
#define SPI_MODE_THREEWIRE
Threewire-compatible mode.
char * strerror(int errno)
Retrieve string representation of error number.
struct nvs_device nvs
NVS device.
References address, assert, bus, data, DBGC, len, NULL, spi_device::nvs, rc, SPI_MODE_THREEWIRE, strerror(), and THREEWIRE_READ.
Referenced by threewire_detect_address_len().
| int threewire_write |
( |
struct nvs_device * | nvs, |
|
|
unsigned int | address, |
|
|
const void * | data, |
|
|
size_t | len ) |
|
extern |
Write data to three-wire device.
- Parameters
-
| nvs | NVS device |
| address | Address from which to read |
| data | Data buffer |
| len | Length of data buffer |
- Return values
-
Definition at line 78 of file threewire.c.
79 {
83
85
86 DBGC (
device,
"3wire %p writing %zd bytes at %04x\n",
88
89
92 DBGC (
device,
"3wire %p could not enable writing: %s\n",
95 }
96
97
100 DBGC (
device,
"3wire %p could not write: %s\n",
103 }
104
105
106
107
108
110
111 return 0;
112}
#define THREEWIRE_WRITE_MDELAY
Time to wait for write cycles to complete.
#define THREEWIRE_WRITE
Write data to memory array.
#define THREEWIRE_EWEN
Write enable.
#define THREEWIRE_EWEN_ADDRESS
Address to be used for write enable command.
void mdelay(unsigned long msecs)
Delay for a fixed number of milliseconds.
References address, assert, bus, data, DBGC, len, mdelay(), NULL, spi_device::nvs, rc, SPI_MODE_THREEWIRE, strerror(), THREEWIRE_EWEN, THREEWIRE_EWEN_ADDRESS, THREEWIRE_WRITE, and THREEWIRE_WRITE_MDELAY.