spi: add function to read various id codes

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
2018-11-29 04:27:19 -05:00
parent cddbe4c90c
commit a9af9820be
2 changed files with 70 additions and 7 deletions

11
spi.h
View File

@ -34,6 +34,16 @@ enum spi_pin {
SP_D3,
};
struct spi_id {
uint8_t manufacturer_id; // Result from 0x90
uint8_t device_id; // Result from 0x90
uint8_t _manufacturer_id; // Result from 0x9f
uint8_t memory_type; // Result from 0x9f
uint8_t memory_size; // Result from 0x9f
uint8_t signature; // Result from 0xab
uint8_t serial[4]; // Result from 0x4b
};
struct ff_spi;
void spiPause(struct ff_spi *spi);
@ -53,6 +63,7 @@ uint8_t spiReadSr(struct ff_spi *spi, int sr);
void spiWriteSr(struct ff_spi *spi, int sr, uint8_t val);
int spiSetType(struct ff_spi *spi, enum spi_type type);
int spiRead(struct ff_spi *spi, uint32_t addr, uint8_t *data, unsigned int count);
struct spi_id spiId(struct ff_spi *spi);
//int spi_wait_for_not_busy(struct ff_spi *spi);
int spiWrite(struct ff_spi *spi, uint32_t addr, const uint8_t *data, unsigned int count);
uint8_t spiReset(struct ff_spi *spi);